Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
|
|
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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 14, 2025 г.
В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах.
...
Читать
Август 8, 2025 г.
В Drupal 10/11 при работе с шаблонами Twig часто требуется вывести дату в нужном формате — будь то текущая дата, дата из поля сущности или timestamp. Для этого можно использовать стандартный Twig-фильтр date, а также функцию format_date().
В этой статье ...
Читать
Сентябрь 20, 2025 г.
При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов.
Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), ...
Читать
Июль 19, 2025 г.
При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.
Если вы используете ...
Читать