Twig 细枝:覆盖嵌入标记中定义的块

Twig 细枝:覆盖嵌入标记中定义的块,twig,Twig,是否有方法覆盖内部定义的块并在子模板的父模板中嵌入标记。例如:我有三个模板:a、b和ca嵌入b和c扩展a {# a.html.twig #} {% embed b.html.twig %} {% block content %} laksjflkj {% block placeholder %} I want to override this template in c, it is actually defined here and has nothing to d

是否有方法覆盖内部定义的块并在子模板的父模板中嵌入标记。例如:我有三个模板:
a
b
c
a
嵌入
b
c
扩展
a

{# a.html.twig #}
{% embed b.html.twig %}
  {% block content %}
    laksjflkj
    {% block placeholder %}
    I want to override this template in c, it is actually defined here and has nothing to do with b
    {% endblock placeholder %}
  {% endblock content %}
{% endembed %}



如何覆盖
c.html.twig
中的
占位符
块?

您必须创建一个名为
d.html.twig
的新文件,该文件扩展
c.html.twig
并覆盖
占位符
块,如下所示:

{# d.html.twig #}
{% extends 'c.html.twig' %}
  {% block placeholder %}
    Overrided !
  {% endblock placeholder %}

要获得提示,您可以查看小树枝的编译代码(上下文下面的小链接)-应该与继承顺序和范围相关。我现在没有时间看,但这是个好问题,我没有。这是一个很好的解决方法,但它没有回答问题。问题是如何直接在嵌入模板中覆盖嵌入模板中的块。您的解决方案并不能解决那个特定的问题,但它解决了潜在的问题。
{# c.html.twig #}
{% extends 'a.html.twig' %}
  {% block placeholder %}
    let's override the block defined inside a
  {% endblock placeholder %}
{# d.html.twig #}
{% extends 'c.html.twig' %}
  {% block placeholder %}
    Overrided !
  {% endblock placeholder %}