2013-09-21 34 views
11

如何覆蓋包含的模板文件中的塊?小枝:無法覆蓋包含文件中的塊

例如:

{# layout.html #} 
{% include "menu.html" %} 

{# menu.html #} 
{% block overrideme %}{% endblock %} 

{# index.html #} 
{% extends "layout.html" %} 
{% block overrideme %}Overriden{% endblock %} 

我讀的地方,一個特徵函數來實現?我找不到任何關於它的文檔,有沒有人知道我可以做這個工作?

回答

15

如果你想覆蓋你正在包含的文件中的塊,那麼你應該「嵌入」它而不是「包含」它。

{% embed "menu.html" %} 
    {% block overrideme %} 
     Overriden 
    {% endblock %} 
{% endembed %} 

查看文檔的更多細節:http://twig.sensiolabs.org/doc/tags/embed.html