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



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

我或多或少地使用视图实现了这一点。基本上 {{ page.content }} 在树枝中,但发现它真的很不灵活,我并没有真正得到我想要的结果。我想做的只是遍历所有文章并"手动"打印该文章的每个部分。例如:

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

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

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

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

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>

最新更新