【问题标题】:How to use node--[content type]--teaser.html.twig in drupal 8?如何在 drupal 8 中使用节点--[内容类型]--teaser.html.twig?
【发布时间】:2019-03-09 22:20:38
【问题描述】:

我创建了一个名为 Question 的自定义内容类型,除了由 Paragraph 模块创建的一个参考实体外,还有一些简单的字段。 我看过一些关于模板建议的文档,但我不明白如何使用它们。 如何使用自定义模板来显示我的所有问题?

【问题讨论】:

    标签: drupal twig drupal-8


    【解决方案1】:

    如果您已通过管理界面(即管理字段)将字段添加到实体,那么您不需要创建自定义 twig 模板来通用显示您的字段。

    您正在寻找的是自定义实体的“管理显示”选项卡。您可以通过 UI 配置每个字段以不同方式显示。这包括参考字段。

    您还可以根据不同的显示类型配置实体的显示,包括预告片。

    https://www.drupal.org/docs/8/api/entity-api/display-modes-view-modes-and-form-modes

    https://www.drupal.org/docs/8/administering-drupal-8-site/managing-content-0/specify-how-fields-are-displayed

    【讨论】:

    • 是的,谢谢你的回答@jhchnc 我知道我正在尝试实现一些不同的东西,比如比赛,我需要显示一个带有答案的问题并提供一个按钮来切换到下一个答案最后计算出用户答对了多少。所以我需要一种方法来显示模板中的数据问题和带有复选框的答案!
    • 我了解到您有一个 Question 实体类型。你的答案与那个实体有什么关系?它们是领域吗?那是参考实体吗?
    • 引用实体@jhchnc
    【解决方案2】:

    您可以从基本主题 (Classy) 复制 node.html.twig 并复制到活动主题模板文件夹并重命名为 node--[content-type-mechine-name]--teaser.html.twig。

    如果您使用 {{ content }},它应该按照您在托管显示中设置的方式输出内容(admin/structure/types/manage/[content-type]/display)。这是默认行为。

    如果您想按字段进行更多控制和显示,您可以这样做。

    <div class="left">
      {{ content.field_abc }}
     </div>
     <div class="right">
      {{ content.field_xyz }}
     </div>

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      相关资源
      最近更新 更多