Меню из базы данных в Yii

0

Я хочу эхо меню из базы данных.

Вот мой код..

<?php
use yii\widgets\Menu;
use app\models\Names;

$names_model    = new Names();
$product_names  = $names_model->findNames();

foreach ($product_names as $product_name => $val) {
    $name = $val['name'];
}
echo Menu::widget([
    'items' => [
    // Important: you need to specify url as 'controller/action',
    // not just as 'controller' even if default action is used.
        ['label' => $name, 'url' => ['site/index']],
    ],
    ]);
?>

Теперь я хочу каким-то образом использовать этот цикл foreach внутри виджета Menu. Или есть другое решение моей проблемы? Эта функция findNames правильна в моей модели имен.

Теги:
yii

1 ответ

0
Лучший ответ

Вы также можете создать массив элементов вне виджета меню, как это

$items = [];
foreach ($product_names as $product_name => $val) {
    $items[] = ['name' => $val['name'], 'url' => $val['url']];
}

echo Menu::widget([
    'items' => $items,
]);
  • 0
    Я попробовал, как вы сказали, и это дает мне эту ошибку: синтаксическая ошибка, неожиданный ';', ожидание ']'
  • 0
    @ MarkoMikulić Извините, пропустил закрывающую скобку, см. Модифицированный ответ.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню