2012-01-17 3 views
0

現在、リクエストを処理するコントローラをMage_Core_Controller_Front_Actionに拡張しているカスタムモジュールで作業しています。このコントローラは、xmlレイアウトファイルで定義したブロックをロードしてレンダリングします。
これらのブロックのそれぞれは、タイプフィールドに割り当てられた独自のブロックコントローラを持つことができます。 私が知りたいことは、変数をテンプレートファイルに割り当てるときには何がベストプラクティスですか?テンプレートに表示したい製品のリストがあるとします。ブロックコントローラで関数を作成し、この関数をテンプレートファイルで呼び出すか、コアコントローラのブロックに製品のリストを割り当てる必要がありますか?
この質問は理論的なもので、各オプションのメリットとMagentoのベストプラクティスが何であるか不思議に思っています。Magento:コアフロントアクションコントローラとブロックコントローラの違い

答えて

1

一般的に、ブロックをできるだけ「スタンドアロン」に保つことをお勧めします。この場合、ブロックコントローラにテンプレート/ビュー変数を割り当てることになります。これにより、ブロックを変更せずに他のページでブロックを再利用することが可能になり、すべてを1か所に保持します。したがって、指定されたブロックで何かが変更された場合は、ブロックコントローラを変更するだけで済みますが、そうでない場合はフロントコントローラも変更する必要があります。 Offcourseでは、ブロックはフロントコントローラからのデータを使用する場合があります。しかし、これは特定の状況であり、可能な限り避けるべきです。

+0

は意味があります – clem

関連する問題