Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
1 2 |
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"] ] ]), ]; } |