2012-03-19 19 views
2

NB:Symfony以外のコンテキストでTwigを使用しています。masterからすべてのtwigテンプレートを継承するにはどうしたらいいですか?

は、私は私がそれらを前置きすることを忘れする必要がドントように、すべてのテンプレートを継承する必要があり、マスターレイアウトを登録したい:私はこのどこかを見ている私が知っている

{% extends 'layout.html.twig' %}

、とsymfonyそれを利用する。

+0

あなたのコードは動作しませんか?それは有効です – seferov

+0

はい、私はすべてのテンプレートを 'layout.html.twig'を各テンプレートファイルに追加せずに拡張します。 – max

答えて

1

可能です!

私はこの解決策を考え出したいくつかの実験をした後:ブロックに

{# index.html.twig #} 
{% block title %}Hello world{% endblock%} 

ラップグローバルレイアウト:小枝に

{# layout.html.twig #} 
{% block layout %} 
    <html> 
     <head> 
      <title>{% block title %}{% endblock%}</title> 
     </head> 
    <html> 
{% endblock %} 

パス子テンプレート:

// index.php 
... 
$twig->display(array('template'=>'index.html.twig')); 
... 

を注入子テンプレートを使用してプロキシテンプレート:

{# proxy.twig #} 
{% extends 'layout.html.twig' %} 
{% block layout %} 
    {# Get extended block #} 
    {{ parent() }} 
    {# inject template into master layout #} 
    {% include template %} 
{% endblock %} 
関連する問題