Как установить класс блокировки и шаблон для категории в Magento через панель администратора с использованием XML

Я пытаюсь переопределить шаблон по умолчанию и класс блока для определенной категории в Magento.

Следующий код ТОЛЬКО изменяет шаблон,

<reference name="product_list">
  <action method="setTemplate"><template>catalog/product/list-foobar.phtml</template></action>
</reference>

Мне также нужно изменить класс блоков по умолчанию с Mage_Catalog_Block_Product_List на Mage_Catalog_Block_Product_List_Foobar.

Возможно ли это с помощью XML в поле «Обновление пользовательского макета» для категории?

Я пробовал следующее, и это также НЕ работает,

<reference name="product_list">
  <block type="catalog/product_list_foobar" name="product_list" template="catalog/product/list-foobar.phtml" />
</reference>

person searaig    schedule 20.02.2013    source источник


Ответы (1)


Строго ответил:

<CUSTOM_CATEGORY_DISPLAY>
    <reference name="category.products">
        <action method="unsetChild"><child>product_list</child></action>
        <block type="catalog/product_list_foobar" name="product_list" template="catalog/product/list-foobar.phtml" />
    </reference>
</CUSTOM_CATEGORY_DISPLAY>

Затем вы можете использовать <update handle="CUSTOM_CATEGORY_DISPLAY" /> в пользовательском XML-поле обновления макета каждой категории, для которой вы хотите применить эти директивы.

Но существует какая-то странная/неудачная связь между моделями и блоками, участвующими в многоуровневой навигации, поэтому вполне может быть какое-то ошибочное поведение.

person benmarks    schedule 20.02.2013