Различный макет для основной категории и подкатегории

Итак, у меня есть эта странная проблема, которая беспокоит меня уже несколько дней. Я делаю новую тему для магазина magento, дизайн просит меня создать другой макет для страницы основной категории и страницы подкатегории.

Обычный способ сделать это — создать или использовать другой макет в бэк-офисе (Каталог > Управление категориями > ... > Пользовательский дизайн > Макет страницы). Однако страница подкатегории продолжает использовать макет, установленный в основной категории. Использовать настройки родительской категории отключено в основной категории, однако этот параметр недоступен в подкатегории. Я попытался использовать обычные макеты для начала, основная категория в 1 столбце, подкатегория в 2 столбцах, но он просто продолжает загружать 1 столбец на странице подкатегории. Я также попытался установить макет по умолчанию в файле local.xml и оставить параметр макета страницы пустым для подкатегории, но это тоже не работает.

Еще немного информации: я использую Magento 1.9 с новой темой RWD в качестве основы. Надеясь, что кто-то может помочь мне с этим.


person Nick_de_K    schedule 30.06.2014    source источник


Ответы (2)


Вы можете проверить уровень категории в действии представления контроллера категории и добавить собственный дескриптор макета:

$update->addHandle('catalog_category_inner');

а затем обновите макет XML (catalog.xml), чтобы использовать этот дескриптор. Например:

<catalog_category_inner translate="label">
    <reference name="category.products">
         <action method="setTemplate"><template>catalog/category/view_inner.phtml</template></action>
    </reference>
</catalog_category_inner>

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

person denSandman    schedule 30.06.2014

Выяснилось, что магазин использовал импортера для своей продукции. Импортер забыл импортировать «Использовать настройки родительской категории», поэтому он не отображал эту опцию в подкатегориях. Поскольку этот параметр нельзя было установить, он был настроен на использование родительских настроек, что объясняет, почему подкатегория использовала макет корня, даже если вы установили другой макет для подкатегории.

person Nick_de_K    schedule 30.06.2014