Как я могу установить настройки по умолчанию для каждого сайта в config.xml?

13

С пользовательскими модулями я предпочитаю помещать настройки конфигурации системы в config.xml (часть настроек по умолчанию). Это облегчает передачу кода со своего локального компьютера в среду разработки / размещения / работы, поскольку мне не нужно заходить в администратор и повторно вводить настройки. Есть и другие преимущества - это может быть быстрее в текстовом редакторе, и вы всегда можете иметь разумное значение по умолчанию, если для этого есть что-то в config.xml.

Я хотел бы сделать это для многосайтового магазина Magento, у которого разные цены на доставку для разных сайтов (и просмотров магазина). На данный момент мои магазины называются «евро», «usd» и «gbp». Представление «евро» принимает значения по умолчанию администратора без перегрузки на уровне веб-сайта, в то время как представления «gbp» и «usd» с перегрузкой на уровне сайта.

    ...
    <default>
    <carriers>
        <my_courier>
            <stuff_goes_here_such_as_price/>
            <price>15.00</price>
            ...
        </my_courier>
    </carriers>
</default>

Кот Генри
источник

Ответы:

21

Вы можете добавить это, используя <stores>узел в вашем config.xml следующим образом.

<stores>
    <store_code>

Вы также можете сделать это на уровне веб-сайта с помощью <websites>узла в вашем config.xml следующим образом.

<websites>
    <website_code>

Единственные примеры этого в основном коде находятся на стороне администратора, потому что это единственные веб-сайты или магазины, которые гарантированно находятся в системе. Проверьте app/code/core/Mage/Adminhtml/etc/config.xmlдля примера.

<websites>
    <admin>
        <web>
            <routers>
                <frontend>
                    <disabled>true</disabled>
                </frontend>
            </routers>
            <default>
                <no_route>admin/index/noRoute</no_route>
            </default>
        </web>
    </admin>
</websites>
Дэвид Мэннерс
источник
Не знал этого! Вы можете развернуть, чтобы показать это с примерами значений по умолчанию, чтобы было понятно, куда это идет?
Джонатан Хасси
Большое спасибо! Я подозреваю, что мне придется поэкспериментировать, чтобы заставить его работать с моим конкретным модулем, но здорово узнать что-то новое! Еще раз спасибо!
Генри Кот
@ Дэвид Мэннерс - это действительно хорошо работает. Следующий вопрос - флажки «использовать по умолчанию», как я могу снять их на уровне магазина / веб-сайта?
Генри Кот
Стоит отметить, что это также работает в Magento 2!
Джош Давенпорт