我们正在运行 Magento 1.7.0 并尝试为此进行扩展。该扩展需要一些配置,我们在 etc/config.xml 中配置它们。问题是我们将无法为这些配置设置默认值我们的字段定义:
<config>
<sections>
<mymodule_options translate="label" module="mymodule_core">
<label>Mymodule Core Options</label>
<tab>mymodule_config</tab>
<frontend_type>text</frontend_type>
<sort_order>1000</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<api translate="label">
<label>Advanced Options</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<expanded>1</expanded>
<fields>
<api_key>
<label>API Key</label>
<frontend_type>text</frontend_type>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</api_key>
<server_host>
<label>Server Host</label>
<frontend_type>text</frontend_type>
<sort_order>2</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</server_host>
<server_port>
<label>Server Port</label>
<frontend_type>text</frontend_type>
<sort_order>3</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</server_port>
</fields>
</api>
</groups>
</mymodule_options>
</sections>
<default>
<mymodule_options>
<api>
<server_host>mymodule.herokuapp.com</server_host>
<server_port>80</server_port>
</api>
</mymodule_options>
</default>
</config>
然后我们从 core_config_data 中删除相关行,然后 error_log 这些值:
Mage::getStoreConfig('mymodule_options/api/server_host')
但是我们得到的是一个 NULL 值。如果我们在管理配置界面中将该值设置为随机值,那么无论如何我们都会得到该值。我们做错了什么,默认值声明不起作用?