Рейтинг:-1

Не удается заставить работать page--node--nid

флаг se

Для узла, тип содержимого которого Страница и чей ID равен 112, я создал файл шаблона page--node-112.html.twig, но Drupal по-прежнему использует файл шаблона page--page.html.twig.

Как заставить Drupal использовать файл шаблона page--node-112.html.twig?

Kevin avatar
флаг in
Это даже допустимое предложение шаблона? Вы очистили кеш?
Рейтинг:1
флаг us

Ни один из основных модулей и тем Drupal не предлагает 'страница__' . $комплект. Если это предложение добавляется модулем (или темой) после предложений, добавленных system_theme_suggestions_page(), который является крючком, который предлагает 'страница__узел__' . $нид, это предложение подбирается первым, так как предложения проверяются от последнего к первому.

Код, который проверяет, для какого из предложений есть файл шаблона, находится в ТемаМенеджер::рендеринг().

  // Проверяем, существует ли каждое предложение в реестре тем, и если да,
  // используем его вместо базового хука. Например, функция может использовать
  // '#theme' => 'node', но модуль может добавить 'node__article' в качестве предложения
  // через hook_theme_suggestions_HOOK_alter(), что позволяет теме
  // альтернативный файл шаблона для узлов статьи.
  foreach (array_reverse($suggestions) как $suggestion) {
    если ($theme_registry->имеет($предложение)) {
      $info = $theme_registry->get($suggestion);
      сломать;
    }
  }

Я предполагаю, что вы действительно используете файл шаблона page--node--112.html.twig. page--node-112.html.twig не является файлом шаблона, который предлагает ядро ​​Drupal, и он не будет выбран.

Рейтинг:0
флаг in

Давать возможность Отладка ветки, который добавит комментарии, включая имена файлов шаблонов, которые можно использовать для переопределения менее конкретных шаблонов.

Комментарии выглядят примерно так, и вы можете просмотреть их в исходном коде или в инспекторе вашего браузера.

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'page' -->
<!-- FILE NAME SUGGESTIONS:
   * page--node--6178.html.twig
   * page--node--%.html.twig
   * page--node--article.html.twig
   * page--node.html.twig
   x page.html.twig
-->

В приведенном выше примере вы можете видеть, что моя страница отображается с использованием page.html.twig, но у меня есть альтернативы, которые можно использовать для моего типа контента (статьи) или узла с одним идентификатором.

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

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