由于命名约定(下划线等),使用 Twig 调整块的能力不一致

问题描述 投票:0回答:1

我在让我的 Drupal 块和区域与我的 Twig 模板文件交互时遇到困难。我怀疑其中一些可能是语法,但其中很多似乎是理解如何命名我的 Twig 文件。

例如,在我的自定义块库中,我有一个“眉毛文本和标题”自定义块。它具有“field_eyebrow_text”和“field_heading”表单字段。此自定义块的机器名称是“eyebrow_text_and_heading”...

因此,我在模板文件夹中创建了一个名为“eyebrow-text-and-heading”的文件夹,然后将此块的 twig 文件命名为:block--eyebrow-text-and-heading.html.twig

在此文件内:

{% if content %}
<h5 class="eyebrow">{{content.field_eyebrow_text}}</h5>
<h2 class="eyebrow-heading">{{content.field_heading}}</h2>
{% endif %}

我将其设置在名为“Light blue”的块区域中,机器名称为“light_blue”。在区域--light-blue.html.twig 内我有:

  set classes = [
    'region',
    'region-' ~ region|clean_class,
  ]
%}
{% if content %}

  <div {{ attributes.addClass(classes) }}>
    <div class="container-fuid">
      <div class="container">
        {{ content }}
      </div>
    </div>
  </div>
{% endif %}

我还有一个“field--block-content--light-blue.html.twig”,其中包含以下代码:

{% for item in items %}
    {{ item.content }}
{% endfor %}

此代码没有显示在网站上的任何位置。

简单地说,我希望每次创建一个“眉毛文本和标题”自定义块(用户填写这两个字段)时,它将具有与块中相同的 HTML 结构——眉毛文本- and-heading.html.twig ...此时,如果我将代码放入浅蓝色区域,它就会用 div 包围它。没有代码。浅蓝色区域代码也没有显示。有人可以向我解释如何命名这些树枝文件吗?

我已经展示了我在上面尝试过的...

我只是期待这个模板代码能够像我的其他一些博客一样被 Drupal 采纳,但我觉得我的命名约定是错误的。

TY

twig drupal-8 drupal-modules
1个回答
0
投票

块模板的正确目录应该是

/主题/自定义/your_theme/模板/块/

,无需为每个块类型创建额外的子文件夹,清除 Drupal 缓存以使更改生效。

© www.soinside.com 2019 - 2024. All rights reserved.