php - 有没有办法让所有模板都继承母模板

标签 php templates symfony

我正在为我的网络应用程序使用 symfony。

我的文件夹中有很多没有任何扩展标签的模板。

目前他们只是用自己的内容打开,但我希望所有这些都应该从母模板扩展。

我知道用这个:

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

有没有办法不用在每个模板文件中都写入它?

最佳答案

对于 Symfony 2.0

我相信你可以通过复制来解决问题

TwigBundle/Resources/views/layout.html.twig

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

在那里你可以覆盖 Twig 基础文件,它应该会影响你所有的模板。

将来在开始一个项目时,我会创建一个 base.html.twig 模板,并在创建它们时将其包含在所有其他模板中,而不是重载 twig base

我强烈推荐 RTM:http://symfony.com/doc/current/book/templating.html

对于 Symfony 1.4

layout.php(在apps//templates/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

关于php - 有没有办法让所有模板都继承母模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716934/

相关文章:

php - 在 findBy 之后,Doctrine 重写了与急切获取值的关系

php - 使用第三个参数自定义登录

php - strftime() 不打印汉字“年”

c++ - 专注于仿函数返回类型

php - 具有无限数量参数的 Laravel 4 路由

c++ - 不使用 for/while 循环的 Pascal 三角形计算

C++ 命名空间和模板

Symfony2 : use translator in a twig filter extension

php - 如何仅向我的 IP 地址显示 XDebug 错误?

javascript - Codeigniter 在 ajax 调用上给出 404 错误