我在让我的 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
块模板的正确目录应该是
/主题/自定义/your_theme/模板/块/
,无需为每个块类型创建额外的子文件夹,清除 Drupal 缓存以使更改生效。