我想在数据库中动态显示菜单项,在yii2前端也是静态的

时间:2015-08-18 11:31:29

标签: php yii yii2 yii-widgets

我只想在yii2高级模板前端显示数据库中的菜单。我也有静态菜单。我正在使用菜单小部件

这是我的代码

           <?php
              echo Menu::widget([
                'options' => ['class' => 'about_content'],
                'items' => CMS::getCMSPages(),
              ]);
            ?>

这里CMS :: getCMSPages()将从数据库中获取菜单。而且我还有静态菜单。所以我像这样添加到菜单小部件

           <?php
              echo Menu::widget([
                'options' => ['class' => 'about_content'],
                'items' => [[CMS::getCMSPages()],
                     ['label' => 'contact', 'url' => ['site/index']]
                 ]

              ]);
            ?>

但这不起作用。有人帮助我们

1 个答案:

答案 0 :(得分:1)

CMS::getCMSPages()方法应该返回正确准备的项目数组。像这样:

[
    ['label' => 'Home', 'url' => ['site/index']],
    ['label' => 'Products', 'url' => ['product/index'],
]

你也应该合并项目数组:

<?php
  echo Menu::widget([
    'options' => ['class' => 'about_content'],
    'items' => array_merge(CMS::getCMSPages(), [['label' => 'contact', 'url' => ['site/index']]])
  ]);
?>