Рейтинг:0

Как я могу получить имя маршрута, если у меня есть объект маршрута?

флаг in

у меня есть объект маршрута (который может нет быть объектом текущего маршрута), и мне нужно получить имя маршрута, например. сущность.узел.канонический. Я не вижу никакого способа получить имя непосредственно из объекта и нигде не вижу его, когда проверяю объект через Xdebug.

Я знаю, что могу легко получить имя текущего маршрута с помощью $current_route_name = \Drupal::routeMatch()->getRouteName(), но как я могу получить имя произвольного маршрута, если у меня есть объект маршрута.

4uk4 avatar
флаг cn
Вы, вероятно, имеете в виду, что не текущий объект маршрута является исходящим маршрутом. Вы не можете получить имя маршрута из объекта маршрута. Вот почему они добавили имя маршрута в [RouteProcessorManager::processOutbound](https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21RouteProcessor%21RouteProcessorManager.php/function/RouteProcessorManager%3A% 3AprocessOutbound/9.2.x). Однако вы можете использовать обработчик маршрутов для сохранения имени маршрута в объекте маршрута, чтобы получить его позже.
sonfd avatar
флаг in
Спасибо. Я пытаюсь использовать `hook_domain_source_alter()`, который вызывается исходящим процессором в модуле domain_source. Возможно, будет лучше, если я создам патч для добавления route_name к данным, передаваемым на хук alter.
sonfd avatar
флаг in
В качестве альтернативы я нашел еще один пост https://drupal.stackexchange.com/questions/272190/get-route-name-from-path-with-wildcard, который может сработать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.