Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
|
|
use Drupal\Core\Template\Attribute; use Drupal\Core\Url; |
Добавим ссылку в меню main. Делается это через реализацию хука hook_preprocess_menu__NAME, где NAME — это системное имя меню.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
/** * Implements hook_preprocess_menu__MENU_NAME(). */ function THEME_preprocess_menu__main(&$vars) { $vars['items'][] = [ 'title' => t('Текст ссылки в меню'), 'attributes' => new Attribute([ 'class' => 'menu-item', ]), // например, ссылка на главную страницу 'url' => Url::fromUri('internal:/', [ "attributes" => [ "class" => ["custom-link-front-page"] ] ]), ]; } |
Drupal 10/11
Данная запись опубликована в 17.03.2025 00:32 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 23, 2025 г.
Иногда в шаблоне Drupal удобно вывести QR-код прямо по месту — без внешних файлов, без рендеринга через отдельный контроллер и без подключения сторонних ...
Читать
Сентябрь 15, 2025 г.
Иногда возникает задача: в Twig-шаблоне параграфа (paragraph.html.twig) нужно отобразить заголовок материала (ноды), к которому этот параграф прикреплён.
Нам не нужно передавать что то дополнительно в шаблон, эти данные могут быть получены из самой ...
Читать
Май 7, 2025 г.
Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...
Читать
Июль 19, 2025 г.
При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.
Если вы используете ...
Читать