2

Webサイトのメインテンプレートに垂直メニューがあり、すべてのWebサイトページに同じコンテンツを配置し、他のすべてのテンプレートがメインテンプレートを拡張しています。私の質問は; メインページを拡張するWebページを表示する他のすべてのコントローラーで同じオブジェクトを渡すことなく、すべてのページのメニューに同じコンテンツを表示するにはどうすればよいですか。次に例を示します。

メインのlayout.html.twigに、object1、object2、object3の3つのオブジェクトを表示する垂直メニューがあります。

コントローラでレンダリング関数を呼び出すとき、メインテンプレートを拡張するテンプレートに常にobject1、object2、object3を渡す必要がありますか?

もっと簡単でエレガントな方法はありませんか?

4

2 に答える 2

2

このメニューをレイアウトから切り離す必要があると思います。このメニューのコントローラーでアクションを実行します。アクションは、このメニューでのメニューとオブジェクトの表示を管理します。次に、このアクションをレイアウトテンプレートでレンダリングします。

{% render "AcmeMenuBundle:Front:showMenu" %}
于 2013-03-24T15:29:05.393 に答える
0

メニューの作成に関する質問の場合、最もエレガントな方法はKnpMenuBundleを使用することだと思います-https ://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md

しかし、あなたの質問がすべての小枝テンプレートにコンテンツを追加することについてであるなら、私は同じ答えを見ました -Symfony2の小枝テンプレートの中からデータをフェッチしますか?

于 2013-03-24T21:16:00.130 に答える