Измените макет только для одной страницы cms - например, "обслуживание клиентов"


Я использую страницы, которые поставляются с установкой Magento по умолчанию. Клиент хочет, чтобы в правой колонке этих страниц было другое содержимое. Например, на странице "обслуживание клиентов" они хотят получить ответы на часто задаваемые вопросы, но в разделе "контакты" они хотят получить информацию о телефоне и почте.

Как я могу этого добиться? Я пытался изменить макет 2columns-right в правой колонке на каждой странице, но я не смог найти способ сделать это тот.

Author: Fabian Schmengler, 2015-09-28

1 answers

На вкладке "Дизайн" вы можете не только выбрать макет страницы (2 столбца справа), но и добавить произвольные обновления макета с помощью XML.

В следующем примере в правый столбец добавляется простой текстовый блок (type="core/text") с номером телефона (reference name="right"):

<reference name="right">
    <block name="telephone" type="core/text">
        <action method="setText"><![CDATA[Phone: 555-666-777]]></action>
    </block>
</reference>

Атрибут name важен, но его значение может быть любым, если оно уникально.

screenshot

Для более сложного контента или контента, который вы хотите повторно использовать на нескольких страницах, вам следует создать a статический блок. Затем статические блоки могут быть добавлены с помощью XML обновления макета следующим образом:

<reference name="right">
    <block type="cms/block" name="telephone">
        <action method="setBlockId"><block_id>telephone_block</block_id></action>
    </block>
</reference>

Где telephone_block - идентификатор статического блока.

 2
Author: Fabian Schmengler, 2015-09-28 11:41:11