Theming Drupal 8 - просматривайте все опубликованные статьи и распечатывайте определенный раздел - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь создать свою первую тему для Drupal 8.На первой странице я хочу перечислить все статьи с заголовком, резюме, датой публикации и т. Д.

Я более или менее достиг этого с помощью представлений.В основном {{page.content}} в ветке, но я обнаружил, что это действительно негибко, и я не получил желаемых результатов.Что я хочу сделать, это просто просмотреть все статьи и напечатать каждый раздел этой статьи «вручную».Например:

{% for page in pages %}
  {{ page.content.title }}
  {{ page.content.datePosted }}
  {{ page.content.body }}
{% endfor %}

, чтобы я мог лучше контролировать происходящее и не вносить много изменений в модуль представлений при развертывании.Какое лучшее решение для достижения этой цели?Спасибо!

1 Ответ

2 голосов
/ 29 мая 2019

Рекомендую использовать Views. Конфигурирование просмотра (фильтрация по типу контента и т. Д.), У вас есть много параметров для достижения того, что вам нужно.

Установите вид, чтобы показать «Содержимое» и дать ему режим просмотра (вы можете использовать значения по умолчанию teaser, full или создать свой собственный режим просмотра). Затем вы можете создать собственный шаблон для этого:

node--xxxx--teaser.html.twig

Чтобы узнать, как назвать свой файл шаблона, включите Twig Отладка в sites/default/services.yml. Установите для переменной отладки значение true. И очистить кеш. Затем в исходном коде вы увидите подсказку с названием шаблона:

    <!-- FILE NAME SUGGESTIONS:
   * node--1--full.html.twig
   * node--1.html.twig
   x node--oeuvre--full.html.twig
   * node--oeuvre.html.twig
   * node--full.html.twig
   * node.html.twig
   -->

В своей ветке вы можете делать такие шаблоны:

<a href="{{ url }}">{{ content.my_field_image[0] }}</a>

<h2><a href="{{ url }}">{{ node.title.value }}</a></h2>

<p>{{ content.body }}</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...