Magento: Как включить / отключить вывод модуля на уровне сайта? - PullRequest
0 голосов
/ 23 сентября 2011

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

1) Верно ли предположить, что это изменение будет закодировано в app / design / frontend / default / mytheme / layout / checkout.xml?

2) Если это правильный файл, из какого изменения произойдет:

<!--
One page checkout payment methods block
-->
    <checkout_onepage_paymentmethod>
        <remove name="left"/>

        <block type="checkout/onepage_payment_methods" name="root" output="toHtml" template="checkout/onepage/payment/methods.phtml">
            <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
        </block>
    </checkout_onepage_paymentmethod>

чтобы указать, например, checkout / onepage / payment / Methods-site2.phtml, когда используется site2?

3) Это правильный способ сделать это в 1.5.x?

1 Ответ

2 голосов
/ 23 сентября 2011
  1. Да
  2. Вам нужно добавить маркер STORE_ [your_store_code] и поместить туда этот материал для конкретного магазина.Больше информации вы можете прочитать в этой статье .Итак, в вашем случае вам нужно обновить блок с именем root.Чтобы изменить шаблон блока, вам нужен какой-то метод для этого, скажем, его имя setTemplate.Итак, в вашем файле обновления макета вы должны написать
<STORE_your_code>
    <reference name="root">
        <action method="setTemplate"><template>checkout/onepage/payment/methods-site2.phtml</template></action>
        <block type="my_cool/block" name="my_cool_block">
        ...
        </block>
    </reference>
</STORE_your_code>

3.Да, добавление дескриптора магазина в файл обновления макета темы - правильный путь для magento CE 1.5.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...