DotPlant2 documentation

Виджет навигации.

Виджет навигации позволяет выводить на сайте меню, созданные в административной части приложения. Чтобы начать работу с навигационным виджетом необходимо в административной части сайта перейти в раздел Навигация. Там уже имеется пункт-категория Main menu. В настояще время все остальные меню должны быть созданы внутри этой категории. Создание блока меню, как и его пунктов происходит одинаково. С той лишь разницей, что все пункты создаются внутри родителя, а у блока меню нет необходимости указывать поле URL.

Итак, чтобы создать новое меню необходимо нажать Добавить. Далее заполнить следующие поля в формах: Обязательное поле:

  • Название — название пункта меню, как оно будет отображаться на сайте. Например, Контакты. Необязательные поля:
  • Расширенный CSS класс — имя класса для оформления создаваемого пункта меню.
  • Порядок сортировки — целое число, обозначающее порядок создаваемого пункта в меню.
  • УРЛ - относительный или абсолютный адрес страницы, например /contacts или http://domain.com/contacts. Для Самого блока меню поле заполнять не нужно.
  • Маршрут - роут для URL менеджера.

Кнопка Добавить свойство позволяет добавлять пункту меню дополнительные свойства, например атрибуты типа data. Для добавления свойства требуется заполнить 2 поля:

  • Key - имя свойства, например, data-name
  • Value - значение свойства, например slide-menu. Пункт меню в конечном итоге получит свойство вида data-name=“slide-menu” После этого формы необходимо сохранить.

Создание пунктов меню происходит так же, только создавать их нужно внутри созданного блока меню.

После того, как меню в административной части готово, требуется вызвать виджет навигации в нужной части шаблона темы.

Минимальный вызов виджета выглядит так:

<?= \app\widgets\navigation\NavigationWidget::widget(['rootId' => ID]) ?>

Где ID - идентификатор блока меню, который мы создавали в административной части приложения. Данный вызов выведет на сайте меню следующего вида:

<ul class="navigation-widget">
    <li ><a href="/item">Item</a></li>
    <li ><a href="/item2">Item2</a>
        <ul>
            <li><a href="/item2/subitem">Subitem</a></li>
        </ul>
    </li>
</ul>

Можно расшить вызов виджета, добавив в него собственный файл отображения:

<?= \app\widgets\navigation\NavigationWidget::widget([
'rootId' => ID, 
'viewFile' => 'путь/до/файла'
])?>

При этом в указанном фале будет доступен массив $items, следующей структуры:

Array (
    [0] => Array (
        [label] => Item
        [url] => /item
        [options] => Array (
            [class] =>
            )
        [items] => Array ( )
        )
    )

Его можно обработать и вывести так, как трубуется.

Дополнительные параметры можно передать следующим образом ,в массиве options:

<?= \app\widgets\navigation\NavigationWidget::widget([
'rootId' => 9,
 'options'=>[
'name' => 'value'
]
]) ?>