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

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

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

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

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

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

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

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

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

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

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

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

Код PHP:
  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.  
Демо нет. Сайт еще в разработке.
Решение отдается как есть, баги правиться, пожелания вноситься будут по мере возможности.
Выводим последние фотографии на странице photos | Lazyload для html полей
Комментарии (1)
Алексей Тимофеев 2 августа 2019 в 13:11 0
Прикольная фишка, спасибо. Протестирую.