主题Drupal 8-循环浏览所有已发布的文章并打印特定部分

主题Drupal 8-循环浏览所有已发布的文章并打印特定部分,drupal,drupal-8,Drupal,Drupal 8,我正在尝试创建我的第一个Drupal8主题。在首页,我想列出所有文章的标题,摘要,发布日期等 我使用视图或多或少地实现了这一点。基本上{page.content}}是在twig中,但是发现它非常不灵活,并且我没有得到我想要的结果。我想做的只是迭代所有文章,并“手动”打印文章的每个部分。例如: {% for page in pages %} {{ page.content.title }} {{ page.content.datePosted }} {{ page.content.bo

我正在尝试创建我的第一个Drupal8主题。在首页,我想列出所有文章的标题,摘要,发布日期等

我使用视图或多或少地实现了这一点。基本上{page.content}}是在twig中,但是发现它非常不灵活,并且我没有得到我想要的结果。我想做的只是迭代所有文章,并“手动”打印文章的每个部分。例如:

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

因此,我可以更好地控制正在发生的事情,并且在部署时不必在视图模块中进行大量配置。实现这一目标的最佳解决方案是什么?谢谢

我建议使用视图。配置您的视图(按内容类型过滤等),您有很多参数来实现所需

将视图设置为显示“内容”,并为其提供视图模式(您可以使用默认的
摘要
完整
,或创建自己的视图模式)。然后,您可以为此创建自定义模板:

node--xxxx--teaser.html.twig
要知道如何命名自定义模板文件,请在
sites/default/services.yml
中启用
Twig
调试。将调试变量设置为
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>

{{content.body}


我建议使用视图。配置您的视图(按内容类型过滤等),您有很多参数来实现所需

将视图设置为显示“内容”,并为其提供视图模式(您可以使用默认的
摘要
完整
,或创建自己的视图模式)。然后,您可以为此创建自定义模板:

node--xxxx--teaser.html.twig
要知道如何命名自定义模板文件,请在
sites/default/services.yml
中启用
Twig
调试。将调试变量设置为
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>

{{content.body}