Возможно ли сделать несколько разных шаблонов вывода карточки товара и описания товара в одном каталоге, в рамках одной темы оформления?
Или только делать дополнительную тему оформления в таких же стилях, но с некоторыми изменениями по выводу и обработке действий...
Как назначить конкретному товару нестандартный шаблон?
01.06.2015 19:03
Можно, конечно.
Если на странице стандартного шаблона товарной карточки вызвать код PHP:
то в системном журнале можно будет увидеть все дескрипторы текущей страницы.
Там будет что-то вроде
Каждому из этих дескрипторов можно назначить макетные правила.
Например, дескриптор PRODUCT_3 применит макетное правило только к товару с идентификатором 3.
Например, можно назначить этому конкретному товару индивидуальный шаблон:
В качестве примера синтаксиса можно посмотреть стандартный макет layout/catalog.xml
Свои макетные правила можно добавлять не только в макетные файлы папки layout, но и в административном интерфейсе Magento на странице требующего нестандартного оформления объекта (товара, раздела, самодельной страницы и т.п.): там есть поле для указания макетных правил.
Если на странице стандартного шаблона товарной карточки вызвать код PHP:
Mage::log(Mage::app()->getLayout()->getUpdate()->getHandles());
то в системном журнале можно будет увидеть все дескрипторы текущей страницы.
Там будет что-то вроде
2015-06-01T15:48:48+00:00 DEBUG (7): Array ( [0] => default [1] => STORE_default [2] => THEME_frontend_rwd_DiscoursePro [3] => catalog_product_view [4] => PRODUCT_TYPE_virtual [5] => PRODUCT_3 [6] => customer_logged_out [7] => MAP_price_msrp_item [8] => SHORTCUT_popup [9] => SHORTCUT_uk_popup )
Каждому из этих дескрипторов можно назначить макетные правила.
Например, дескриптор PRODUCT_3 применит макетное правило только к товару с идентификатором 3.
Например, можно назначить этому конкретному товару индивидуальный шаблон:
<PRODUCT_3> <reference name="product.info"> <action method="setTemplate"><template>catalog/product/view-2.phtml</template></action> </reference> </PRODUCT_3>
В качестве примера синтаксиса можно посмотреть стандартный макет layout/catalog.xml
Свои макетные правила можно добавлять не только в макетные файлы папки layout, но и в административном интерфейсе Magento на странице требующего нестандартного оформления объекта (товара, раздела, самодельной страницы и т.п.): там есть поле для указания макетных правил.