用嵌入覆盖元素


Twig: Override elements with embed

我有以下模板结构,我想用embed覆盖块:

base.html.twig

<!DOCTYPE>
<html>
   <head></head>
   <body>
      {% embed 'header.html.twig' %}
         {% block content %}{% endblock %}
      {% endembed %}
   </body>
</html>

header.html.twig

{% block content %}{% endblock %}

page.html.twig

{% extends 'base.html.twig' %}
{% block content %}
   <p>Some content</p>
{% endblock %}

如果我加载page.html.twig与我的控制器现在我认为它应该显示"一些内容",但它不工作。有人知道我做错了什么吗?

" embed标签结合了include和extends的行为。它允许您包含另一个模板的内容,就像include一样。但它也允许你覆盖在包含的模板中定义的任何块,比如扩展模板时。关于嵌入块的小文档

可以使用import或include。我建议包含这个状态