Рейтинг:0

Как получить имя пакета по маршруту?

флаг us

Я хотел бы передать в ветку переменные, которые зависят от определенных маршрутов или типов узлов (пакетов) (страница пользователя, комментарий, страница или настраиваемый тип контента). Я использовал название маршрута (entity.comment.edit_form, entity.user.canonical) для этой цели.

Теперь мне нужно исключить некоторые типы узлов (т.е. я не могу использовать только entity.node.canonical для всех случаев мне нужно создать специальное условие для определенных типов узлов). Как получить тип узла (пакет?) по имени/объекту маршрута?

Мой код находится в .тема файл в HOOK_preprocess_page(&$переменные)

UPD: Хорошо, я обнаружил, что на самом деле $переменные['узел'] который содержит то, что мне нужно в $переменные['узел']->getType()

Но допустим у меня есть только маршрут, как мне получить от него ID и загрузить ноду?

Рейтинг:1
флаг cn

Drupal предоставляет такую ​​переменную для шаблона html:

/**
 * Реализует hook_preprocess_HOOK() для шаблонов документов HTML.
 */
функция node_preprocess_html(&$variables) {
  // Если на отдельной странице узла или на странице предварительного просмотра узла, добавьте тип узла в
  // классы тела.
  if (($node = \Drupal::routeMatch()->getParameter('node')) || ($node = \Drupal::routeMatch()->getParameter('node_preview'))) {
    если ($ узел экземпляр NodeInterface) {
      $variables['node_type'] = $node->getType();
    }
  }
}

Этот код работает в вашем HOOK_preprocess_page(&$переменные) также.

УПД: получитьпараметр('узел') получает уже загруженный узел. Таким образом, вам не нужно получать идентификатор для загрузки узла, но если вам нужен идентификатор, используйте получитьRawParameter('узел').

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

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