slo_nik
@slo_nik

Как сделать возможность выбора расположения пункта меню?

Добрый вечер.
Возник вопрос, приблизительно представляю как реализовать, но правильное ли это решение?
Всё просто.
Обыкновенный сайт на yii2. Использую виджет Nav для вывода меню. Самих меню на сайте может быть несколько, в "шапке" сайта, в "подвале", слева и справа. Пункты меню редактируются в админке. Поэтому виджет Nav использую следующим образом.
<?=
     Nav::widget([
         'items' => Catalog::getMenu(null)
     ]);
 ?>

Метод getMenu(null) формирует в модели двухуровневое меню, параметром можно передать какие именно пункты будут отображаться в данном меню. То есть, можно передать или "head" или "middle" или "left" или "right".
В админке, при создании нового пункта меню я указываю, в каком месте сайта этот пункт выводить, соответственно в выпадающем списке в форме выбираю или "head" или "middle" или "left" или "right".
Но один и тот же пункт может выводится как в "шапке" сайта, так и в "подвале".
Я думаю, что в форме создания нового пункта переделать выпадающий список вариантов на checkboxList, чтобы была возможность выбора нескольких вариантов. И создать отдельно таблицу, где хранить id пункта меню и место, в какой части сайта его выводить.
Но насколько это правильно? Подскажите, пожалуйста, правильное решение.
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы