2016-04-28 2 views
0

В настоящее время я пытаюсь интегрировать веб-сайт с Drupal 8. Моя первая страница немного отличается от других страниц, и мне нужно проверить node.html.twig, если текущая страница - это первая страница, чтобы добавить " ДИВ». Переменная «is_front» работает нормально на странице.html.twig, но, похоже, она не доступна на node.html.twig. Как я могу исправить эту проблему?Как проверить, является ли текущая страница главной страницей из node.html.twig?

+0

узел * Содержание * , На первой странице есть * страница *. Если вы находитесь на узле, вы не можете быть одновременно на главной странице. Можете ли вы объяснить, что именно вы пытаетесь сделать? Может быть, я не понимаю правильно. –

ответ

0

Если вы хотите показать узел на первой странице, и он должен выглядеть так же, как и фактическая страница узла, вы можете создать новый экран для узла, например «На главной странице». Для этого экрана вы создаете новый шаблон узла (будьте осторожны, чтобы использовать правильное соглашение об именах для файла twig, иначе оно не будет работать). Затем вы указываете на первой странице, чтобы отображать узлы, используя дисплей «Первая страница», в котором будет использоваться другой шаблон (включая ваш желаемый div).

Twig шаблоны именования: https://www.drupal.org/node/2354645

Итак шаги:

  1. создать новый режим отображения для ваших узлов
  2. создать новый шаблон для этого конкретного режима отображения
  3. скажите FrontPage для отображения узлов с использованием этого дисплея
+0

Большое спасибо за ваш ответ. Как настроить режим отображения, который я хочу использовать в конкретной ситуации? – GIJO

1

Вы также можно добавить эту переменную, используя крючок препроцесса. Следующий код будет добавить переменную is_front, поэтому он может быть использован в html.html.twig шаблона:

// Adds the is_front variable to html.html.twig template. 
function mytheme_preprocess_html(&$variables) { 
    $variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage(); 
} 

Затем внутри шаблона прута вы можете проверить переменную следующим образом:

{% if is_front %} 
THIS IS THE FRONTPAGE 
{% endif %} 
Смежные вопросы