美食 / knp-menu
KnpMenu for CakePHP 3
v0.5.0
2015-07-21 17:11 UTC
Requires
- cakephp/cakephp: ~3.0
- knplabs/knp-menu: ~2.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-08-28 01:23:04 UTC
README
包含内容?
- 菜单组件
- 菜单助手
安装
使用 Composer
composer require gourmet/knp-menu:~0.4
然后你需要加载插件。在 boostrap.php
中,类似以下内容
\Cake\Core\Plugin::load('Gourmet/KnpMenu');
并添加以下内容到你的 App\Controller\AppController
public $components = ['Gourmet/KnpMenu.Menu']; public $helpers = ['Gourmet/KnpMenu.Menu'];
使用方法
相当简单。概念是你在控制器或视图层中的任何地方、任何时候通过 get
获取一个菜单,并从任何地方添加子菜单。在视图层,你还可以渲染任何已定义的菜单。
获取菜单
$menu = $this->Menu->get('my_menu');
向菜单添加子菜单
// using an array for URL and child's name as title $menu->addChild('Dashboard', ['uri' => ['controller' => 'Users', 'action' => 'dashboard']]); // using a named route for URL and custom title $menu->addChild('Dashboard', ['route' => 'dashboard', 'label' => 'My Account']);
渲染菜单
仅在视图层可用
// by default, renders as a list echo $this->Menu->render('my_menu');
当然,你可以通过传递选项来设置自己的渲染器(默认为 \Gourmet\KnpMenu\Menu\Renderer\ListRenderer
)和匹配器(默认为 \Gourmet\KnpMenu\Menu\Matcher\Matcher
)
echo $this->Menu->render('my_menu', [ 'matcher' => '\Custom\Matcher', 'renderer' => new \Custom\Renderer(...) ]);
更多内容,请参阅官方 KnpMenu 仓库和文档。
补丁与功能
- 分支
- 修改、修复
- 测试 - 这很重要,所以不要无意中将其弄坏
- 提交 - 不要修改许可、todo、版本等。(如果你做了任何修改,将它们提升到自己的提交中,这样我在拉取时可以忽略它们)
- 拉取请求 - 主题分支有额外加分
错误与反馈
http://github.com/gourmet/knp-menu/issues
许可
版权 (c) 2015, Jad Bitar,并许可于 MIT 许可证。