我们正在积极开发模块,当我们将更改推送到生产站点时,通常需要进行多项配置更改。很高兴能自动完成这个......想法?
答案 0 :(得分:8)
不确定它是否仍然是实际的,但如果您的意思是更改系统 - >配置,那么使用这样的config.xml节点而不是编写数据库升级要好得多。
Magneto将core_config_data
表处理成全局XML结构,因此您可以在不使用db table更改系统配置的情况下更改XML结构。
这是一个小例子:
<config>
<stores>
<french>
<design>
<theme>
<default>french</default>
<theme>
</design>
</french>
</stores>
<websites>
<base>
<design>
<theme>
<default>english</default>
<theme>
</design>
</base>
</websites>
</config>
在此示例中,为Magento中的两个范围更改了一个配置字段。根据当前的网站和商店,是当前主题的定义。
因此<stores />
节点包含特定商店的配置值。其中每个子元素都使用商店代码命名,并在嵌套视图中包含配置数据。 <website />
节点包含特定网站的配置值。其中每个子元素都使用网站代码命名,并且在嵌套视图中也包含配置数据。
此外,全局范围内的配置值还有<default />
个节点。但如果特定值适用于范围,则<stores />
和<websites />
将覆盖它。
我只通过config.xml对配置进行更改,因为只需要通过Magento安装程序安装它而不进行更改就可以更轻松地部署项目 “系统 - &gt;配置”。
答案 1 :(得分:5)
将更改作为模块“sql”目录中的安装或升级脚本的一部分。在模块的“config.xml”文件中,增加每个匹配更改的版本号,并记住填写<config><global><resources><MODULE_setup><setup>
节点。
因为脚本是在Magento的上下文中运行的,所以您也可以访问所有正常功能,更新不必采用SQL命令的形式。