как мне вставить блок catalog/category_list из моего макета модуля xml

Я пытаюсь создать модуль, который вставляет код отслеживания JS в "before_body_end" на выбранных страницах. До сих пор я успешно внедрил свой собственный блок с шаблоном .phtml, содержащим JS-отслеживание просмотров продукта, с этим кодом в моем макете XML:

<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, чтобы я мог получить доступ к классу продукта и получить такую ​​информацию, как текущий идентификатор продукта. Моя проблема связана со страницами со списком продуктов. Я пробовал аналогичный код для catalog/product_list, но это не сработало.

Кажется, мне нужно установить его на catalog_product_view, чтобы он вообще что-то выводил, но при этом у меня нет доступа к коллекции продуктов. Любые идеи о том, как я могу получить доступ к коллекции продуктов или как заставить ее работать на catalog/product_list?


person Christoffer Bubach    schedule 05.03.2013    source источник


Ответы (1)


Если вам просто нужна информация о продукте или категории, такие блоки не нужны. core/template можно найти, если у вас есть 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>
person dagfr    schedule 05.03.2013
comment
Я был на 99% уверен, что пробовал это с category_default и многоуровневым, но, очевидно, нет. Работал нормально! А вот про Mage::registry я и не знал, очень полезная информация - за правильный ответ наградит. Спасибо еще раз! - person Christoffer Bubach; 05.03.2013