2012-02-14 45 views
0

我在Symfony 2中編程,在這裏我有兩個軟件包需要維護。他們的觀點延長base.html.twig(應用範圍模板),如:Symfony 2和TWIG中的軟件包配置變量

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

現在base.html.twig樣子:

... 
<title>{{ page_title }}</title> 
... 

現在的問題是如何以及在哪裏我可以定義變量page_titel以使這兩個包具有不同的頁面標題。我知道,我可以在控制器的每個操作方法中的模板呈現中設置變量,但是由於頁面標題在一個包中是靜態的,因此我正在尋找一種方法,我只需要定義變量一次。例如:

#app/config/config.yml 
twig: 
    global: 
    foo: bar 

但不是整個應用程序,而是整個包! 任何提示?

回答

2

考慮閱讀TWIG塊。 http://symfony.com/doc/current/book/templating.html

在您的基本模板的使用:

<title>{% block title %}{% endblock %}</title> 

然後在你的應用程序模板中使用:

{% block title %}Bundle 1 Title{% endblock %} 

的標題會神奇地顯示爲標題的內容。

而且我不是100%確定我理解你的問題。但是你可以給每個包分配自己的base.html,擴展主base.html並設置標題。該捆綁包中的所有內容都將擴展捆綁包的基礎。所以標題只需要設置在一個地方。