在我的Magento模块中,我想更改一个配置选项只运行一次 - 更改不应保存在数据库中。
只有在运行时才会根据特定条件进行更改,以便所有后续核心调用等都使用该选项。
我知道你可以使用类似Mage::getConfig()->saveConfig(...)
的东西,但实际上这会将更改保存在数据库中。
我正在使用Magento 1.5
。Magento:更改配置选项,而不保存它
这是可能的吗?
在我的Magento模块中,我想更改一个配置选项只运行一次 - 更改不应保存在数据库中。
只有在运行时才会根据特定条件进行更改,以便所有后续核心调用等都使用该选项。
我知道你可以使用类似Mage::getConfig()->saveConfig(...)
的东西,但实际上这会将更改保存在数据库中。
我正在使用Magento 1.5
。Magento:更改配置选项,而不保存它
这是可能的吗?
尝试这样的:
Mage::getConfig()->setNode($path, $value);
使用$store->setConfig('config_path', 'value_to_set')
采取在内存中缓存考虑。请注意,这与Magento配置缓存无关,但如果您使用相同路径调用Mage::getStoreConfig()
两次,它将不会读取已加载的XML结构,而是在数组中查找它。
难道你不能简单吗?获取旧值,更改它,运行你的脚本,保存旧值 – dagfr 2013-02-14 10:34:42
@dagfr不,因为我必须很早地设置它(在App :: run上),它必须覆盖所有的magento功能。 – Lanbo 2013-02-14 10:37:01
你也可以注册你需要的值(用Mage :: register),并使用这个注册表而不是你需要的配置 – dagfr 2013-02-14 10:43:49