我对 magento 配置系统感到困惑。在etc目录中有一些配置文件,如config.xml、system.xml、adminhtml.xml。为什么magento有多个配置文件?如果我们需要在管理部分添加一些字段,例如我们使用 php 代码的地方:
$fieldset->addField('uploaded_file', 'fileuploader', array(
'label' => Mage::helper('fileuploader')->__('File'),
'class' => 'required-entry',
'required' => true,
'name' => 'uploaded_file',
));
以及一些我们使用 xml 配置的地方,例如
<sender translate="label comment">
<label>Sender</label>
<comment>Name of the sender</comment>
<validate>required-entry</validate>
<frontend_type>text</frontend_type>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</sender>
在字段部分。
为什么我们不应该使用所有区域通用配置php或else xml?请解释其中任何一个。
最佳答案
Mangento 将所需的所有配置文件合并到一个大配置文件中并存储 这个在配置缓存中。
现在,如果我们只有一个配置文件,magento 将被迫加载当前区域(前端、管理、api)不需要的配置数据,并且会降低 magento 的速度。
仅始终加载 config.xml,所有其他配置 *.xml 文件均按需加载。
例如,在前端,不需要加载 system.xml 或 adminhtml.xml,因为它们仅包含后端使用的数据。
此外,如果您现在了解每个配置文件的用途,就很容易找到您需要的内容。
关于你的第二个问题,我认为你指的是系统配置, 存储在由各个模块创建的系统->配置和管理页面下的system.xml中。
通过xml字段中的字段配置,您可以创建输入字段,这将设置配置变量,由于这是一个基本过程,没有太多修改空间,因此可以通过xml进行配置。
对于您的各个模块,例如文件上传示例,它已经变得更加复杂。考虑文件上传中的所有可能性,存储在哪里,允许哪些文件类型,是否有最大大小,也许您想做一些其他检查或将文件名保存在数据库中。 为了更清楚地说明这一点,请尝试想象一下定义“编辑产品”管理页面所需的 xml
如果您想了解有关此主题的更多信息: http://alanstorm.com/magento_config_tutorial这是一个好的开始
关于php - magento配置系统文件困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18914428/