質問
Web サイトの各ページに表示されるウィジェット (データベース呼び出しの結果) を実装するにはどうすればよいですか?
環境
サイドバーのある従来の Web アプリケーションがあります。サイドバーには、次のようなデータが含まれています。
- ユーザー名、
- アカウントに関する詳細(前回の接続など)
- ユーザーのプロファイルに基づいてパーソナライズされたメッセージ。
- データベースから抽出されたその他のデータ。
これまでのソリューション
公式ドキュメントに示されているように、テンプレート内でテンプレートをレンダリングすることが可能です。これは興味深い機能ですが、十分ではありません。データベースからのデータをウィジェットでレンダリングする必要があるためです。
それは次のことを意味します:
- サイドバーに必要なすべてのデータをどこかで取得し、
- そのデータを各コントローラーから各ビューに渡し、
- 最後に、各テンプレートで、指定されたデータを使用して外部テンプレートを呼び出します。
私がやりたいことは、Symfony2 フレームワークに存在するものです。コントローラーを直接呼び出せるようにしたいと思います。
{% render MyController:MyActionMethod %}
この種のメカニズムをどのように実装できますか?
PS : はい、ちょっと調べてみました。この質問「同様の質問」が見つかりました: play2 のどこにでもパラメータを渡さないようにするには?