2012-07-30 76 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