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

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

Вариант описанный ниже не решит вопрос вложенности 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
Алексей Т Алексей Т 4 года назад #
Прикольная фишка, спасибо. Протестирую.

Еще от автора

Готовый сайт лендинг компании по подбору персонала
Делал два года назад. Заказчик сменил профиль и сайт не пригодился.
Выведем контент группы в списке полей группы
Поле позволяет в списке полей группы вывести последний контент этой группы.
Чиним реферальные ссылки биллинга при закрытом сайте
Проблема такая: если сайт закрыт, то при переходе по реферальной ссылке типа /r/1 пользователя перехватывает компонент Авторизация, и хук биллинга, ко
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.