Дополнительная вложенность в "хлебных крошках"

+15
1.58K
Для одного проекта понадобилось дать возможность более удобной навигации в "пути по сайту", выведя все страницы, в которые логически входит текущая страница.

Вариант описанный ниже не решит вопрос вложенности urlов, но добавит некоторого удобства. Решений вопроса может быть несколько, мне подошел вариант с правками в шаблоне виджета меню.

Результат будет такой

Иллюстрация

Чтобы получить на своем сайте также, качаем архив menu_right.tpl.zip из моих файлов /users/1009/files.html

Распаковываем в templates/default/assets/ui

И у виджета, выводящего меню в разделе, выбираем Шаблон списка menu_right

Иллюстрация

Все. Вложенность из меню "перенесется" также в "путь по сайту", давая пользователю возможность перейти к "родительским" разделам меню.

Для желающих правки вносить ручками, мой файл отличается от стандартного двумя блоками

  1.  
  2. <?php
  3. $url = "/" . cmsCore::getInstance()->uri;
  4. ?>
  5.  
и

  1.  
  2. <?php
  3. if (!empty($item['parent_id']) && ($url == $item['url'])) {
  4. $dopitem = $menu[$item['parent_id']];
  5. $kk = 1;
  6. while (!empty($dopitem)) {
  7. array_splice($this->breadcrumbs, count($this->breadcrumbs) - $kk, 0, array(
  8. 'title' => $dopitem['title'],
  9. 'href' => $dopitem['url']
  10. )
  11. ));
  12. $dopitem = empty($dopitem['parent_id']) ? false : $menu[$dopitem['parent_id']];
  13. $kk++;
  14. }
  15. }
  16. ?>
  17.  
Демо нет. Сайт еще в разработке.
Решение отдается как есть, баги правиться, пожелания вноситься будут по мере возможности.
0
Алексей Т Алексей Т 5 лет назад #
Прикольная фишка, спасибо. Протестирую.

Еще от автора

Шаблон вывода категорий
Делюсь небольшим компонентом, который выводит на списком записей список категорий со своим шаблоном.
Виджет "Меню добавить"
Небольшой виджет, предназначенный исключительно для вывода меню добавления контента.
ZПоиск. Другой взгляд на поиск
В рамках более глубокого знакомства с Vue в частности с появившимся недавно Composition Api сделал на Vue небольшой компонент, который по функционалу
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.