2012-07-30 74 views
3

我正在爲我的web應用使用symfony。有沒有什麼辦法讓所有的模板都繼承母模板

我的文件夾中有很多模板,沒有任何擴展標籤。

目前他們只是用自己的內容公開,但我想,所有這些應該從母親模板延伸。

我知道,利用這個:

{% extends 'AnmeBundle::layout.html.twig' %} 
{% block body %} 

有沒有辦法做到這一點沒有寫在每一個tenmplate文件?

+5

沒有辦法做到這一點。 – 2012-07-30 07:56:03

回答

0

爲symfony1.2 2.0

我相信你可以通過複製

TwigBundle/Resources/views/layout.html.twig 

app/Resources/TwigBundle/views/layout.html.twig 

在那裏,你可以在此改變枝條基本文件,它應該不會影響都做了變通方法你的模板。

在未來

開始一個項目的時候,我會創造一個base.html.twig模板,包括在所有其他模板,當您創建它們,而不是超載樹枝基地

我強烈建議更換RTM:http://symfony.com/doc/current/book/templating.html

爲symfony1.2 1.4

layout.php中(在應用//模板/ layout.php中)是默認的全局模板。全局模板用於常見代碼(頁眉,頁腳,機器人代碼,谷歌分析)。

你可以創建你自己在同一個文件夾layout.php中全局模板,迫使不同的動作來使用通過該模塊的view.yml不同的全局模板。

像這樣:

indexSuccess: 
    layout: my_layout 

,或者你可以在動作編程方式做到這一點:

$this->setLayout('my_layout'); 

或模板

<?php decorate_with('my_layout') ?> 

我強烈建議更換RTM:http://www.symfony-project.org/gentle-introduction/1_4/en/07-Inside-the-View-Layer