Web アプリケーションに 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 ベースをオーバーロードするのではなく、作成時に他のすべてのテンプレートに含めます。
RTM を強くお勧めします: http://symfony.com/doc/current/book/templating.html
Symfony 1.4 の場合
layout.php (apps//templates/layout.php 内) はデフォルトのグローバル テンプレートです。グローバル テンプレートは、共通コード (ヘッダー、フッター、ボット コード、Google アナリティクス) に使用されます。
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