Я хочу динамически отображать пункты меню из базы данных, а также статично в моем интерфейсе yii2
Я просто хочу отображать меню из базы данных в расширенном шаблонном интерфейсе 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 ответ
Решение
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']]])
]);
?>