2014-01-30 157 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塊。