2011-09-13 9 views
1

私はちょうどsymfony 2を学び始めました。小さな質問があります私はどのページに記事の総数を入れるべきですか

たとえば、記事があるサイトがあります。私はすべてのページに記事の総数を表示したいが、すべてのページはいくつかのバンドルによって生成される。

だから、記事数などの主要変数の初期化を行うには、いくつかの共通スクリプトが必要です。

私はそれをどのようにすればよいですか?

答えて

7

これを達成する簡単な方法は、記事の総数を取り出して出力するアクションを持たせることです。他のビューからそのアクションをレンダリングできます(例:$view['actions']->render('ArticlesBundle:Articles:getCount'))。あなたはこのサイトのすべてのページに表示したい場合、私は(あなたが使用しているどのテンプレートエンジンに依存するかbase.html.twig)あなたのbase.html.phpビューの中からそれをレンダリングすることをお勧めします。何とかキャッシュしておくことをお勧めします。頻繁に変更されないカウントのためにデータベースに常にぶつかっているわけではありません。

詳細はEmbedding Controllersのドキュメントをご覧ください。

さらに、この例を展開して、サイト全体で使用する他の「主な変数」を定義することができます。 1つのアイデアは、これらの変数を保持し、必要なときにその内容にアクセスすることを目的とするサービスオブジェクトを定義することです。ところで

は、あなたの質問のタイトルはあなたの問題の記述はありませんが、それを言い換えご検討ください。

+0

ドキュメントのこの部分をどうやって見逃すことができますか?ありがとうございました! – asmisha