1

Web ショップに Magento 1.7 を使用しており、カタログの上に特定の静的ブロックを表示したいと考えています。したがって、顧客がメニューに移動して、たとえばカテゴリ A をクリックし、その後メーカー B をクリックすると、カタログ製品リストの上にメーカー固有の情報を含むテキスト ブロックが表示されます。また、メーカー C をクリックすると、メーカー B 以外のテキストが表示されるはずです。

これを行う最も簡単な方法は、すべてのメーカーの静的ブロックを作成し、PHP スクリプトを作成することだと思います。それは可能ですか?または、別の方法でこれを行うことができますか?

前もって感謝します!

敬具、

ジャンポール

4

2 に答える 2

0

これが無料の拡張機能のリストです。それらをダウンロードするだけで、必要に応じて変更/アップグレード編集できます。

  1. ブランド / メーカー別に購入
  2. ブランド メーカー管理
  3. メーカー ブランドロゴ

理解していただければ幸いです。何かを始めようとするときは、簡単に理解できると思います。

于 2013-01-02T12:18:57.980 に答える
0

自分でやりたい場合は、オブザーバーを実装し、階層化されたナビゲーションでどのフィルターが適用されているかを確認し、ブロックにブロックを追加できますcontent

次に、ブロックは、製造元のさまざまな情報を表示するロジックを実装します。

私は試しcontroller_action_layout_generate_blocks_afterてみるcontroller_action_layout_render_beforecontroller_action_layout_render_before_'.$this->getFullActionName()、階層化されたカテゴリの FullActionName が何であれ:-)

オブザーバーについては、inchoos で見つけることができます: http://inchoo.net/category/ecommerce/magento/events-observers/

メーカーが選択されているかどうかの情報を取得するには、次の 2 つの方法があると思います。

  1. get から情報を取得すると機能するMage::app()->getRequest()->getParam()はずです
  2. レイアウトを取得し$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');
}
于 2013-01-01T14:04:12.963 に答える