我正要开始构建我的第一个 magento 模块,但我找不到任何关于核心中本地文件夹和社区文件夹之间区别的文献。我注意到有些人在本地构建他们的模块,而另一些人在社区构建,这有什么区别,我为什么要使用其中一种?
谢谢
最佳答案
您需要在本地之外进行开发。社区文件夹是/曾经是您放置从 Magento Marketplace 下载或购买的模块的地方。据我了解,此文件夹的使用正在逐步停止,Varian 建议将所有模块放在本地文件夹中,即使是从市场下载的模块也是如此。
从系统的角度来看,唯一的区别是在核心文件夹之后搜索社区文件夹,但在本地文件夹之前。在 app/Mage.php 中检查此路径设置
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
$paths[] = BP . DS . 'lib';
$app_path = implode(PS, $paths);
set_include_path($app_path . PS . Mage::registry('original_include_path'));
所以,如果你有两个文件
app/code/community/Companyname/Models/Foo.php
app/code/local/Companyname/Models/Foo.php
Magento 将首先使用社区文件夹中的那个。
关于php - 构建 magento 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1005673/