Вывожу меню в шаблоне главной страницы, используя модуль simplify menu (https://www.drupal.org/project/simplify_menu), чтобы переопределить разметку:
<ul class="menu__list">
{% for menu_item in quick_links_header.menu_tree %}
<li class="menu__item">
<a class="DefAction" href="{{ menu_item.url }}">
<span class="DefIcoText DefAction__DefIcoText">
<span class="DefIco DefIcoText__DefIco"><i class="DefIco__ico"></i></span>
<span class="DefIcoText__text">{{ menu_item.text }}</span>
</span>
</a>
</li>
{% endfor %}
</ul>
Все хорошо работает, но появилась необходимость вывести описание пункта меню в title для ссылки
Попробовал {{ menu_item.description }} - не работает. Вопрос - как достать это описание?
Заглянул в системный шаблон menu.html.twig - не увидел среди переменных описание. В документации к модулю также нет ответа на вопрос.
Комментарии
Если без модуля, то выводят так:
{{ item.original_link.pluginDefinition.description }} не переводит описание
{{ item.original_link.getDescription() }} переводит описание
Оказывается это проблема модуля и для её решения пока помогает только патч: https://www.drupal.org/project/simplify_menu/issues/2891950#comment-1364...
В файле модуля по пути "/src/MenuItems.php" нужно заменить кусок кода (77 строка):
$simplifiedLink = [
'text' => $item->link->getTitle(),
'url' => $item->link->getUrlObject()->toString(),
'options' => $item->link->getUrlObject()->getOptions(),
'description' => $item->link->getDescription(),
'active_trail' => FALSE,
'active' => FALSE,
];
Как видно к выводимому массиву меню добавляются опции и описания, теперь описание доступно для вывода вот так: {{ menu_item.description }}