Yii2的菜单模块

3.1.0 2016-06-10 07:10 UTC

README

安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

php composer.phar require infoweb-internet-solutions/yii2-cms-menu "*"

或者在您的composer.json文件的require部分添加以下内容:

"infoweb-internet-solutions/yii2-cms-menu": "*"

使用

扩展安装后,只需按照以下方式修改您的应用程序配置:

'modules' => [
    ...
    'menu' => [
        'class' => 'infoweb\menu\Module',
    ],
],

导入翻译并使用类别'infoweb/menu'

yii i18n/import @infoweb/menu/messages

要使用该模块,执行yii迁移

yii migrate/up --migrationPath=@vendor/infoweb-internet-solutions/yii2-cms-menu/migrations

配置

以下列出了所有可用配置选项及其默认值。

enablePrivateMenuItems (类型: boolean, 默认: false)

如果此选项设置为true,则可以管理菜单项的public属性,并且models/frontend/Menu中的getTree函数将仅返回公开菜单项,如果当前应用程序用户是访客。请注意,如果您将此选项设置为true,您还需要在前端应用程序中启用该模块。

defaultPublicVisibility (类型: boolean, 默认: true)

这是将用作菜单项public属性默认值的值。

allowContentDuplication (类型: boolean, 默认: true)

如果此选项设置为true,则激活所有可翻译属性上的duplicateable jquery插件。

createEntityFromMenuItem (类型: boolean, 默认: true)

如果此选项设置为true,您可以在菜单项表单中创建页面,例如。

linkableEntities (类型: boolean, 默认: [])

这些是在menu模块中使用的实体。实体类的全限定名用作数组中的键。只有实现getUrlgetAllForDropDownList方法的实体才能链接。对于每个配置的实体,需要以下字段

  • ** 标签 **: 在menu模块中将使用的实体标签
  • ** i18nGroup **: 用于标签翻译的组

示例配置

'menu' => [
    'class' => 'infoweb\menu\Module',
    'enablePrivateMenuItems' => true,
    'linkableEntities' => [
        MedicalTraining::className()  => [
            'label'     => 'Training',
            'i18nGroup' => 'infoweb/medical-training',
        ]
    ]
],