美食/knp-menu

KnpMenu for CakePHP 3

安装次数: 46,057

依赖者: 5

建议者: 0

安全: 0

星标: 14

关注者: 5

分支: 3

类型:cakephp-plugin

v0.5.0 2015-07-21 17:11 UTC

This package is auto-updated.

Last update: 2024-08-28 01:23:04 UTC


README

Build Status Total Downloads License

使用 KnpMenuCakePHP 3

包含内容?

  • 菜单组件
  • 菜单助手

安装

使用 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 许可证