Хлебные крошки в Drupal 8

Главные вкладки

Аватар пользователя seoyuzer seoyuzer 13 июня 2017 в 23:04

Всем привет!
Есть тип материала с иерархическим URL "site/termin/podtermin/node-title", как я понял drupal 8 строит хлебные крошки из URL, но в крошках выводится только родительский термин "главная / термин / заголовок текущей ноды". Подскажите как в крошках вывести ещё и дочерний термин? Ещё установил модуль Easy breadcrumb но не помогает.

Комментарии

Аватар пользователя bumble bumble 11 декабря 2017 в 15:02

Если установлен модуль для генерации крошек - в первую очередь, смотрите организованные им правила.

Аватар пользователя Maxlynx Maxlynx 11 декабря 2017 в 15:18

Да. Установил модуль "menu Breadcrumb". Теперь разбираюсь как исключить из вывода node-title. Понимаю, что это можно сделать только программным путём, ковырянием в коде где-нибудь в core/lib/drupal/core/breadcrumb/.

Аватар пользователя bumble bumble 11 декабря 2017 в 15:20

Maxlynx wrote:

ковырянием в коде где-нибудь в core/lib/drupal/core/breadcrumb/

Вы себе только попаболь на грядущие обновления заработаете.

Аватар пользователя Maxlynx Maxlynx 11 декабря 2017 в 15:32

Тогда я не понял каким образом можно кастомизировать хлебные крошки. Убрать заголовок текущей ноды и сменить разделитель пути (например замена ">" на "/"). В .twig этого конечно нет.

Аватар пользователя bumble bumble 11 декабря 2017 в 15:35

Drupal использует систему хуков и все возможные преимущества ООП для переопределения любого функционала (в т.ч. для работы с темизацией).

Поищите, в интернете огромное количество материала, на любой случай.

Аватар пользователя Maxlynx Maxlynx 11 декабря 2017 в 19:09

Для drupal 8 не удаётся нарыть толковой информации по работе хлебных крошек. За исключением функции them_breadcrumb. Но для восьмёрки не понятно как менять или устанавливать разделитель. Вариант с implode() здесь не пройдёт. А документация Drupal вызывает тоску в плане поиска нужных вещей.
Можете подсказать где и куда копать?

Аватар пользователя bumble bumble 11 декабря 2017 в 19:29

Maxlynx wrote:

Можете подсказать где и куда копать?

https://webref.ru/css/before

Если нужен именно шаблон хлебных крошек, с разделителем - можно его определить в используемой теме, вот пример из темы "classy" - core/themes/classy/templates/navigation/breadcrumb.html.twig :

{% if breadcrumb %}
  <nav class="breadcrumb" role="navigation" aria-labelledby="system-breadcrumb">
    <h2 id="system-breadcrumb" class="visually-hidden">{{ 'Breadcrumb'|t }}</h2>
    <ol>
    {% for item in breadcrumb %}
      <li>
        {% if item.url %}
          <a href="{{ item.url }}">{{ item.text }}</a>
        {% else %}
          {{ item.text }}
        {% endif %}
      </li>
    {% endfor %}
    </ol>
  </nav>
{% endif %}

Выводите что нужно, где нужно.

ЗЫ - Вам правильнее было бы создать свою тему с необходимыми вопросами.

Аватар пользователя Maxlynx Maxlynx 11 декабря 2017 в 19:43

При многом благодарен за ответ. Стилями пытался менять. С twig пробовал - не помогло. Установлен модуль menu breadcrumb. Создам новую тему.

Аватар пользователя bumble bumble 11 декабря 2017 в 19:46

Не забывайте кеш чистить при каждом изменении, а так же проверяйте в тех ли файлах правите, нет ли где-либо в соседней папке "того же" шаблона.

Ну, и как я писал выше - если стоит модуль - ищите решения в нем, он с очень высокой вероятностью перекрывает часть функционала.