Templates symfony2:关于扩展模板

Templates symfony2:关于扩展模板,templates,symfony,Templates,Symfony,我刚刚创建了,所以我有一个已生成的模板: Hello {{ name }}! 现在,我只想修改包含“Hello John!”的页面标题。因此,作为第一次尝试,我编辑base.twig.html并将“Welcome”改为“foobar”,但标题不变 因此,最后要更改标题,我将执行以下操作: {% extends '::base.html.twig' %} {% block body %} Hello {{ name }}! {% endblock %} 尽管这段代码运行正常(

我刚刚创建了,所以我有一个已生成的模板:

Hello {{ name }}!
现在,我只想修改包含“Hello John!”的页面标题。因此,作为第一次尝试,我编辑base.twig.html并将“Welcome”改为“foobar”,但标题不变

因此,最后要更改标题,我将执行以下操作:

 {% extends '::base.html.twig' %}

 {% block body %}
     Hello {{ name }}!
 {% endblock %}
尽管这段代码运行正常(标题中的更改显示正确),但与我的第一次尝试相关,我想知道模板是如何扩展base.html.twig的,但没有显示我对它所做的更改


Javi

以下模板不扩展任何其他模板:

Hello {{ name }}!
这就是为什么基本模板中的更改对您不可见的原因

必须显式扩展模板(使用extends语句)。就像您在第二个代码段中所做的那样:

{% extends '::base.html.twig' %}

{% block body %}
    Hello {{ name }}!
{% endblock %}
这里没有魔法。小树枝会做你叫它做的任何事

由于您是显式的,并且幕后没有发生任何特殊情况,因此您不局限于一个基本模板。您可以按照自己的方式灵活组织模板


在Symfony文档的一章中了解更多信息。“关于”部分介绍了组织模板的良好实践。

我不完全确定您的要求,但如果您要通过生产前端控制器,请确保在更新细枝模板后清除缓存。我在开发环境中工作。我改变了一些我的问题…但是为什么我第一次尝试的页面标题是“欢迎”??这意味着base.html.twig正在被扩展,否?否,如果您在模板中不使用“扩展”,则base.html.twig不会被扩展。我注意到,如果给定的页面没有设置,chrome会显示以前的标题。也许这就是发生在你身上的事。