Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
|
|
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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 13, 2025 г.
Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно.
Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем ...
Читать
Март 9, 2025 г.
На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п.
С точки зрения данных - требуется объект в терминах шаблонов проектирования - синглтон. ...
Читать
Август 3, 2025 г.
В некоторых случаях удобно не только встроить View через UI или блок, но и программно срендерить представление (View) и получить HTML — например, для отправки во внешнюю систему, в e-mail, или вывода в нестандартном месте.
В этой статье покажем, как ...
Читать
Апрель 11, 2025 г.
В CKEditor 5 есть родной плагин, который отображает список спец. символов для вставки в редактор. Он удобен и прост, проблема лишь в том, что он содержит ...
Читать