Мне нужно добавить некоторые ссылки на существующее меню (или на новое) программно в Drupal 8.
8
navigation
skorzh
источник
источник
Если вы хотите создать определяемые модулем ссылки на меню, добавьте что-то вроде этого примера в ваш файл custom_module.links.menu.yml :
parent
(необязательно) - этоid
столбец родительского элемента вmenu_tree
таблице, аroute_name
также внутренний идентификатор маршрута Drupal, для которого вы хотите, чтобы пункт меню имел ссылку. Это вmenu_tree
таблице какroute_name
.См. Предоставление модульных ссылок меню и Добавить ссылку меню для более подробной информации и опций.
источник
Чтобы расширить @skorzh ответить и ответить на комментарий от @Matt, если вы хотите вложить элемент меню в другой, вы должны получить родительский идентификатор и установить его как «родительский». В качестве примера этот код вкладывает элемент в верхний уровень, используя переменную
$top_level
ниже.источник