如何在config.xml中设置每个网站的默认值?


13

对于自定义模块,我更喜欢将系统配置设置放入config.xml(默认设置部分)。当我将代码从本地计算机推送到开发/登台/实时环境时,这将变得更加容易,因为我无需进入管理和重新输入设置。还有其他好处-在文本编辑器中执行操作会更快,并且如果config.xml中有相应的默认设置,您总是可以使用明智的默认设置。

我想对一家具有多个网站的Magento商店执行此操作,该商店针对不同的网站(和商店视图)具有不同的运费。目前,我的商店称为“ euro”,“ usd”和“ gbp”。“ euro”视图采用管理员默认值,在网站级别没有替代,而“ gbp”和“ usd”视图则具有网站级别的替代。

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

Answers:


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>

不知道这个!您是否可以扩展以显示默认值示例,以便清楚地了解它的去向?
Jonathan Hussey 2014年

非常感谢你!我怀疑我必须做一些实验才能使它真正与我的特定模块一起工作,但是学习新知识真是太好了!再次感谢!
亨利的猫

@David Manners-实际上工作得很好。下一个问题-“使用默认”复选框,如何在商店/网站级别取消设置?
亨利的猫

值得注意的是,这在Magento 2中也适用!
乔什·达文波特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.