0

"before_body_end"選択したページにJS トラッキング コードを挿入するモジュールを作成しようとしています。これまでのところ.phtml、レイアウト XML で次のコードを使用して、製品ビューの追跡 JS を含むテンプレートを独自のブロックに挿入することに成功しました。

<catalog_product_view>
    <reference name="before_body_end">
        <block type="catalog/product_view" name="trackingjs_product" template="company/module/product.phtml"></block>
    </reference>
</catalog_product_view>

また、ブロック タイプが catalog/product_view であることを確認して、製品クラスにアクセスし、現在の製品 ID などの情報を取得できるようにします。私の問題は、製品リスト ページにあります。同様のコードを試しましcatalog/product_listたが、うまくいきませんでした。

何かを出力するには設定する必要があるようですがcatalog_product_view、それでは製品コレクションにアクセスできません。製品コレクションにアクセスする方法や、それを機能させる方法についてのアイデアはありますcatalog/product_listか?

4

1 に答える 1

1

商品やカテゴリの情報だけが必要な場合は、そのようなブロックは必要ありません。Mage::registry('current_product') と Mage::registry('current_category') があれば、コア/テンプレートが見つかり、製品とカテゴリの情報を取得できます。

しかし、あなたが自分のやり方を好むなら、私はそれを次のようにすることをお勧めします

<catalog_category_layered>
<reference name="before_body_end">
    <block type="catalog/product_list" name="trackingjs_list" template="company/module/list.phtml"></block>
</reference>
</catalog_category_layered>
<catalog_category_default>
<reference name="before_body_end">
    <block type="catalog/product_list" name="trackingjs_list" template="company/module/list.phtml"></block>
</reference>
</catalog_category_default>
于 2013-03-05T18:39:25.830 に答える