Я работаю над проектом Magento, который основан на теме Ultimo и использует расширение WordPress fishpig.
Я пытаюсь изменить 2columns-left.phtml шаблон только на страницах WordPress, но не могу заставить его работать!
Чтобы объяснить сценарий далее:
Набор тем Ultimo является основным содержимым перед левой колонкой и использует float: right;
Правило CSS для основного содержимого, чтобы расположить его после левого столбца. HTML структурирован так:
<div class="col-main grid4-3 grid-col2-main in-col2">
[omitted code]
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><div class="wp-sidebar">
[omitted code]
</div></div>
Этот HTML генерируется Ultimo / по умолчанию / шаблон / страницы / 2columns-left.phtml с:
<div class="col-main grid4-3 grid-col2-main in-col2">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><?php echo $this->getChildHtml('left') ?></div>
Я хотел бы использовать свой собственный файл шаблона, чтобы расположить боковую панель перед основным контентом в HTML только для страниц WordPress, таким образом, категории WordPress будут размещаться над основным контентом в мобильном устройстве.
Я пытался создать свой собственный шаблон под названием страница / WP-2columns-left.phtml и установив его для раздела WordPress сайта с приведенным ниже кодом и несколькими другими вариантами в моих темах local.xml:
<wordpress_default>
<reference name="root">
<action method="setTemplate"><template>page/wp-2columns-left.phtml</template></action>
</reference>
</wordpress_default>
Но все же оригинал 2columns-left.phtml шаблон называется. Я мог бы отредактировать файл шаблона напрямую и получить желаемый результат в разделе WordPress сайта, но это повлияет на остальную часть сайта Magento и не является хорошей практикой.
Вы можете добиться этого, используя код XML-макета. Следующий код изменит шаблон для всех страниц, созданных в WordPress:
<wordpress_page_view>
<reference name="root">
<action method="setTemplate">
<template>page/2columns-left.phtml</template>
</action>
</reference>
</wordpress_page_view>
Следующий код изменит шаблон для страницы WordPress с идентификатором 32:
<wordpress_page_view_32>
<reference name="root">
<action method="setTemplate">
<template>page/2columns-left.phtml</template>
</action>
</reference>
</wordpress_page_view_32>
После добавления этого кода в файл макета XML вам необходимо обновить кэш макета XML (если он включен).
Других решений пока нет …