magento配置系统文件混乱

时间:2013-09-20 10:22:48

标签: php xml magento

我与magento配置系统混淆了。在etc目录中有一些配置文件,如config.xml,system.xml,adminhtml.xml。为什么magento有多个配置文件?如果我们需要在管理部分添加一些字段,我们使用的代码如下:

$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 orelse xml?请解释一下。

2 个答案:

答案 0 :(得分:1)

Magento是模块化的,因此每个模块都有配置。

因此每个模块都有一个etc/文件夹,其中包含一个或多个xml文件。

然后有系统设置来访问app/etc/

中的数据库

最重要的是,您可以在模板local.xml文件夹中添加layout/文件,该文件可用于微调,完全更改或禁止各种功能。

使用app/code/core中的所有区域意味着第一次Magento版本升级对您来说非常幽默,因为所有更改都会被覆盖。因此,最好将配置更改保留在您创建的自定义模块中的app/code/core/中找到的模块中,以覆盖核心或app/code/local/Mage模块etc文件夹中的任何配置。

答案 1 :(得分:1)

Mangento将所需的所有配置文件合并到一个大配置文件中并存储 这个在配置缓存中。

现在,如果我们只有一个配置文件,magento将被强制加载配置数据,这在当前区域(前端,管理员,api)中是不需要的,并且会降低magento的速度。

始终只加载config.xml,所有其他config * .xml文件都按需加载。

在前端例如,它不需要加载system.xml或adminhtml.xml,因为后端只包含数据。

另外如果你现在每个配置文件的目的,它很容易找到你需要的东西。

关于你的第二个问题,我认为你指的是系统配置, 存储在system.xml下的system-&gt;由各个模块创建的配置和管理页面。

使用xml字段中的字段配置,您可以创建输入字段,这将设置配置变量,因为这是一个变化的基本过程,并且没有太多的修改空间,可以通过xml配置。

对于单个模块,例如文件上传,它已经变得越来越复杂。考虑文件上载中的所有可能性,存储位置,允许的文件类型,是否有最大大小,可能要进行其他检查或将文件名保存在数据库中。 为了更清楚,试着想象一下定义“编辑产品”管理页面所需的xml

如果您想了解有关此主题的更多信息: http://alanstorm.com/magento_config_tutorial这是一个好的开始