2012-02-14 7 views
0

私はSymfony 2でプログラミングしています。ここでは、2つのバンドルを維持しています。今base.html.twigがどのように見えるsymfony 2とtwigのバンドル全体の設定変数

{% extends '::base.html.twig' %} 
... 

... 
<title>{{ page_title }}</title> 
... 

今私の質問はどのように、どこで私ができるで彼らの見解は次のようにbase.html.twig(アプリ全体のテンプレートを)延ばします変数page_titelを定義して、2つのバンドルが異なるページタイトルを持つようにします。私は、コントローラーの各アクションメソッドでテンプレートレンダリング内の変数を設定できることを知っていますが、ページのタイトルが1つのバンドル内で静的であるという事実のために、一度可変である。次のようなものがあります:

#app/config/config.yml 
twig: 
    global: 
    foo: bar 

アプリケーション全体ではなく、バンドル全体です。 ヒント?

答えて

2

TWIGブロックを読み上げることを検討してください。お使いのベーステンプレートの使用では http://symfony.com/doc/current/book/templating.html

{% block title %}Bundle 1 Title{% endblock %} 

を、タイトルは魔法のようにタイトルコンテンツとして表示されます:

<title>{% block title %}{% endblock %}</title> 

そして、アプリのテンプレートでは使用しています。

私は100%あなたの質問を理解しているわけではありません。しかし、各バンドルには、それ自身のbase.htmlをマスターbase.htmlに拡張し、タイトルを設定することができます。バンドル内のすべてがバンドルベースを拡張します。タイトルは1つの場所に設定する必要があります。

関連する問題