2014-01-30 155 views
1

我有一个延伸template_child.twig这又延伸template_base.twig视图view.twig嵌套块嫩枝

我希望能够到鸟巢内的其他各块,而无需创建一个“sub_content”块会只有在延伸template_child时才有效。因此view.twig可以扩展任一模板而无需重命名块指令。

view.tig

{% extends "template_child.twig" %} 
{% block content %} 
    Stuff that should go in "content" 
{% endblock content %} 

template_child.tig

{% extends "template_base.twig" %} 
{% block content %} 
    <div id="styling-of-content"> 
     {% block content %} 
     {% endblock content %} 
    </div> 
    Stuff that absolutely needs to be after "content" 
{% endblock content %} 

template_base.tig

<html><body> 
    {% block content %} 
    {% endblock content %} 
</body></html> 

真正水流尝试运行该代码时ntly TWIG输出这个错误:

块“内容”已经被定义线X中的“template_child.twig”在线Y

使用枝条v1.12.3

回答

2

Twig在纯PHP类和方法中编译模板并不是真的可能。在PHP中,子方法总是有能力覆盖父方法。

解决方法是使用在“template_child.twig”中的内容块中包含的view.twig中定义的sub_content块。