我混淆了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?请解释一下。
发布于 2013-09-22 08:49:17
Mangento将所需的所有配置文件合并到一个大配置文件中,并将其存储在配置缓存中。
现在,如果我们只有一个配置文件,magento将被迫加载配置数据,这在当前区域(前端、管理、api)中是不需要的,并且会减慢magento的速度。
只有config.xml总是加载,所有其他配置*.xml文件都会按需加载。
例如,在前端,它不需要加载system.xml或adminhtml.xml,因为后端只使用包含数据。
另外,如果您现在使用的每个配置文件,很容易找到您需要的。
关于您的第二个问题,我认为您指的是系统配置,它存储在由各个模块创建的系统->配置和管理页面下的system.xml中。
使用xml字段中的字段配置,您可以创建输入字段,这将设置配置变量,因为这是一个不同的基本过程,并且没有太多的修改空间,因此可以通过xml进行配置。
对于您的单个模块,就像在您的例子中的文件上传,它已经变得更加复杂。考虑文件上传中的所有可能性,在哪里存储,哪些文件类型允许,是否有最大的大小,也许您想做一些其他检查或保存在数据库中的文件名。为了更清楚地说明这一点,尝试想象定义“编辑产品”管理页面所需的xml
如果您想了解更多关于这个主题的信息:tutorial,这是一个好的开始。
发布于 2013-09-22 00:16:35
Magento是模块化的,因此每个模块都有配置。
因此,每个模块都有一个etc/文件夹,其中包含一个或多个xml文件。
然后有系统设置来访问app/etc/中的数据库。
在此基础上,您可以在模板local.xml文件夹中设置一个layout/文件,用于微调、完全更改或抑制各种功能。
在app/code/core中使用所有区域意味着当您的所有更改都被覆盖时,第一次Magento版本升级将非常幽默。因此,最好将对app/code/core/中的模块的配置更改保留在您创建的定制模块中,以覆盖在核心或app/code/local/Mage模块etc文件夹中找到的任何配置。
https://stackoverflow.com/questions/18914428
复制相似问题