定制 bakeoff/panel-nav 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bakeoff/panel-nav

Composer 安装命令:

composer require bakeoff/panel-nav

包简介

Views and helpers to simplify building navigation in custom panel UIs

README 文档

README

This plugin contains views and helpers that can simplify building UI in custom admin panels, control panels, consoles.

When you're building an admin panel in CakePHP 5, you would have a route prefix such as /admin and a bunch of controllers inside APP/Controller/Admin: say, ArticlesController, CommentsController, TagsController etc. In your view templates, you would have navigation menus linking to them and their actions.

This plugin lets you automate the process by automatically picking up all present controllers and their actions within that prefix, so you don't have to manually hardcode links to them.

Usage

Linking to actions

ArticlesController manages Article entities and has actions such as edit($id), reviewComments($id) etc.

You can extend your view templates for those actions with Bakeoff/PanelNav./entity_profile. This will render navigation to other actions available to this entity, as well as other controllers in the current prefix.

For example, templates/Articles/edit.php:

<?php
$this->extend('Bakeoff/PanelNav./entity_profile');
echo $this->Form->create($entity).PHP_EOL;
echo $this->Form->control('title').PHP_EOL;
echo $this->Form->control('body').PHP_EOL;
echo $this->Form->control('is_published').PHP_EOL;
echo $this->Form->button('Save').PHP_EOL;
echo $this->Form->end().PHP_EOL;

Note: the current entity has to be available as $entity.

Linking to controllers
<?php
$this->loadHelper('Bakeoff/PanelNav.ControllerSurroundings');
// Loop though other controllers in the same folder a.k.a. same prefix
foreach ($this->ControllerSurroundings->getOtherControllers() as $name):
    // We get the controller name, without the 'Controller' suffix
    echo $name; // outputs e.g. Articles
    // Render a link to the controller index
    echo $this->Html->link($name, ['controller' => $name, 'action' => 'index']);
    // Here's how we can tell if we're in this controller right now
    if ($name === $this->getRequest()->getParam('controller')) {
        // ...
    }
endforeach;

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-03-04