Всем доброго!
Стоит задача организовать вывод тематического меню для тематической группы страниц. Таких групп на сайте планируется около 7—10. Очевидный подход: создать требуемые меню в разделе "Структура" (/admin/structure/menu) и обеспечить их показ в нужных регионах страниц через "Схему блоков". При этом включив видимость определенных меню для требуемых страниц через "Настроить блок — Страницы — Отображать для перечисленных страниц".
Но при всей логичности такого решения будет иметь место существенный недостаток: нагромождение блоков в "Схеме блоков" (/admin/structure/block) в регионе Primary например.
Является ли такой подход в организации показа специальных меню для специальных групп страниц нормальной практикой, либо для таких задач нужны иные подходы? Если "да", то как это лучше сделать?
Спасибо!
Комментарии
"Таких групп на сайте планируется около 7—10" - значит и 10 блоков. Че нагромождать то?
Т.е. я на верном пути?
Не знаю. Мне сложно передставить ваш сайт. Если он сложный - вы будете много раз менять его структуру.
Если 10 разделов и для каждого свой блок - то имеет право на жизнь. Но есть любители модуля Panels, которые имеют свое мнение.
Скажите в двух словах: в чем преимущество реализации меню посредством модуля Panels по сравнению с вышеупомянутым способом?
В любом случаи, спасибо за ответ!
реализации не меню, а разделов, на которых можно вывести менюхи и другие блоки.
перимуществ не знаю, но это лишь способ.
Я бы решил кодом. Имхо кол-во блоков более 5-7 в одном регионе, но с разными условиями отображения - это уже как-то дискомфортно. Кодом - подразумевается написание модуля для отображения необходимого набора ссылок меню в ОДНОМ блоке в зависимости от пути роута.
views + https://www.drupal.org/project/ultimenu
+
Gridstack Beta5+, or latest DEV in tandem with Widget. Alternatively use Radix, or Bootstrap layouts, to ease up building complex layouts with individual region within Widget.
Для себя сделал вывод: при минимуме навыков работы с Drupal 8 (как на данный момент у меня) можно реализовать как я и планировал, но лучше кодом: либо через написание специального модуля либо применить решение views + https://www.drupal.org/project/ultimenu + (...).
Всем спасибо за советы!