php - magento配置系统文件困惑

标签 php xml magento

我对 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/

相关文章:

Magento Google Analytics 代码未显示

magento - 如何在 Magento 的 cms 页面上放置 php 语法

PHP 初学者 : Is using the exec command standard practice?

java - XmlBeans 与 Digester 哪个更擅长处理巨大的 xml 文件?

c# - 在将字符串加载到 XML 文档对象之前删除所有十六进制字符?

javascript - 在 IE 10 中转换 XML AJAX 响应时出错

php - Magento 中的购物车总计不含运费

php LOAD DATA LOCAL INFILE csv 到 mysql

php - && 不适用于所需的表单字段

PHP:如何在下拉列表中列出文件夹的文件,然后根据mysql条目选择其中一个