自分でやりたい場合は、オブザーバーを実装し、階層化されたナビゲーションでどのフィルターが適用されているかを確認し、ブロックにブロックを追加できますcontent
。
次に、ブロックは、製造元のさまざまな情報を表示するロジックを実装します。
私は試しcontroller_action_layout_generate_blocks_after
てみるcontroller_action_layout_render_before
かcontroller_action_layout_render_before_'.$this->getFullActionName()
、階層化されたカテゴリの FullActionName が何であれ:-)
オブザーバーについては、inchoos で見つけることができます: http://inchoo.net/category/ecommerce/magento/events-observers/
メーカーが選択されているかどうかの情報を取得するには、次の 2 つの方法があると思います。
- get から情報を取得すると機能する
Mage::app()->getRequest()->getParam()
はずです
- レイアウトを取得し
$layout->getBlock('catalog.leftnav')
、ブロックから何らかの方法で情報を引き出します
その後、ブロックを追加できます。
これを読んだ後: Magento: 構造ブロック「コンテンツ」の最後にコンテンツ ブロックを追加します。
独自の更新ハンドルを導入することをお勧めします (の先頭にブロックを追加する方法がわからないためcontent
)。独自のハンドルで、使用できますbefore="-"
ここで説明されているように:
http://www.classyllama.com/magento/add-custom-layout-handles-eg-parent-categories
経由でハンドルを追加できます$layout->getUpdate()->addHandle('manufacturer_informations');
オブザーバーで次のようなことを試します。
if($category = Mage::registry('current_category')) {
if($category->getName() == 'MyBrand') { // ot maybe $category->getId() == ...
//instantiate some $block
}
$layout->getBlock('content')->insert($block, 'brand-information');
}