我想创建与自定义模块兼容的多商店。我想根据配置范围从我的自定义数据库表中获取值。在将值添加到数据库表时,我已经指定了scope_id和scope,就像Magento在core_config_data表中所做的那样。现在,我如何根据前端选定的网站从表中获取插入的值。
我有以下数据库值摘录。
ID值scope_id范围
1测试0默认
2 test1 4商店
3 test12 5网站
有人可以帮助我吗?感谢
答案 0 :(得分:2)
根据自己的需要重复使用Magento的配置负载并不容易。
您想要的是从默认值继承您的值 - >网站 - >商店(如果没有在那里覆盖)。
Magento将数据库配置转换为Mage_Core_Model_Resource_Config::loadToXml
中的内部XML表示,并在那里进行合并和继承逻辑。
继承逻辑全部在loadToXml()
函数中 - 所以如果你想采用相同的方法并为每个商店范围构建你的值,你可以实现类似的东西。
如果你只需要为特定范围获取一个值,你只需要读取该商店的数据库行,如果没有找到该商店所在的网站,如果没有找到默认值。