Меню

Меню выводится через виджет Menu::widget().

use yii\widgets\Menu;

echo Menu::widget([
    'items' => [
        ['label' => 'Главная', 'url' => ['site/index']],
        ['label' => 'Контакты', 'url' => ['site/contacts']],
        ['label' => 'Авторизация', 'url' => ['site/login']],
    ],
]);

В результате сгенерируется список из трёх пунктов меню. Для активной страницы в пункте меню будет добавлен класс active.

В параметре url указана ссылка в формате «controller/action». Это позволяет выводить страницу по настройкам сайта, т.е. если в настройках будет изменена ссылка, то она автоматически изменится и в меню.

Выводить пункт меню только авторизованным

Выводить пункт меню только авторизованным можно через параметр visible.

use yii\widgets\Menu;

echo Menu::widget([
    'items' => [
        ['label' => 'Главная', 'url' => ['site/index']],

        // выводить не авторизованным
        ['label' => 'Авторизация', 'url' => ['site/login'], 'visible' => Yii::$app->user->isGuest],

        // выводить только авторизованным
        ['label' => 'Авторизация', 'url' => ['site/login'], 'visible' => !Yii::$app->user->isGuest],
    ],
]);

Добавить класс в меню

Добавить класс в меню можно через параметр options.

use yii\widgets\Menu;

echo Menu::widget([
    'options' => ['class' => 'nav'],
    'items' => [
        ['label' => 'Главная', 'url' => ['site/index']],
        ['label' => 'Контакты', 'url' => ['site/contacts']],
        ['label' => 'Авторизация', 'url' => ['site/login']],
    ],
]);