markhatchell/cakephp3-easy-menus

一个易于使用的基于表格的菜单插件,适用于 CakePHP3

dev-master 2015-06-12 19:36 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:59:52 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

注意

此插件仍在开发阶段。

如果您想贡献,请告诉我。

现在该插件应该工作得相当好。

要求未包含在 composer 中,因为您应该直接使用 composer 或 CDN 包括它们。

功能

  • 将您的菜单存储在数据库表中,以便所有负载均衡的服务器都可以访问和显示相同的菜单,而无需更新源。
  • 嵌套菜单结构。
  • 基于 Bootstrap 导航。
  • 手动或基于路由的链接类型。
  • 收集所有路由并提供给您作为菜单项使用。
  • 菜单的类参数,以帮助样式化。
  • 可配置的菜单显示选项。

即将推出的功能

  • √ 菜单的类参数,以帮助样式化。
  • 根据用户是否认证来显示或隐藏菜单项。
  • 根据存储在 params 字段中的路由信息在数据库中重新生成静态链接字段。
  • 基于角色的访问,这将要求此插件的用户在其用户实体上有一个角色字段。
  • 菜单的缓存。

要求

  • bootstrap - 用于表单布局和菜单显示。
  • jQuery - 用于表单布局和菜单显示。

### 使用 composer

composer require elboletaire/twbs-cake-plugin:~3.0
composer require twbs/bootstrap:~3.0

composer require components/jquery:1.*
#[OR]
composer require components/jquery:2.* #jQuery 2.x (IE <9 not supported)

### 使用 CDN

$this->Html->css('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.4/css/bootstrap.min.css');
$this->Html->css('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.4/css/bootstrap-theme.min.css');
$this->Html->script('https://maxcdn.bootstrap.ac.cn/bootstrap/3.3.4/js/bootstrap.min.js');

$this->Html->script('https://code.jqueryjs.cn/jquery-1.11.3.min.js');
//[OR]
$this->Html->script('https://code.jqueryjs.cn/jquery-2.1.4.min.js'); //jQuery 2.x (IE <9 not supported)

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require 'markhatchell/cakephp3-easy-menus:dev-master'

使用

将此添加到 config/bootstrap.php 以激活插件

Plugin::load('EasyMenus', ['bootstrap' => false, 'routes' => true]);

安装 EasyMenus 的表

bin/cake migrations migrate --plugin EasyMenus

要显示菜单:将此添加到 /src/Controller/AppController.php

use EasyMenus\Controller\Component\EasyMenusComComponent;
...
    public function initialize()
    {
        parent::initialize();
        ...
        $this->loadComponent('EasyMenus.EasyMenusCom');
    }

将此添加到 src/template/layout/default.ctp

<?=$this->Element('EasyMenus.easymenu')?>

要访问菜单管理 UI,请导航到

/admin/EasyMenus