как да вмъкна блок 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 и layered, но очевидно не. Работи добре! И аз не знаех това за Mage::registry, много полезна информация - ще ви даде правилния отговор. Благодаря отново! - person Christoffer Bubach; 05.03.2013