Magento配置文件混淆


magento config systems files confusion

我混淆了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 或 xml?请解释任何一个。

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

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

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

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

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

对于你的第二个问题,我想你指的是系统配置,存储在系统中.xml在由各个模块创建的系统>配置和管理页面下。

使用 xml 字段中的字段配置,

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

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

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

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

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

然后是系统设置来访问在app/etc/中找到的数据库

最重要的是,您可以在模板layout/文件夹中有一个local.xml文件,可用于微调,完全更改或抑制各种功能。

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