php - 构建 magento 模块

标签 php magento module

我正要开始构建我的第一个 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/

相关文章:

php mysql - 如果不存在则插入项目

php - 检测 Visual Composer

javascript - 未捕获的类型错误 : undefined is not a function when using a jQuery plugin in Magento

magento - Magento 中的访客 ID 和用户 ID

php - 我需要特定产品类型的自定义选项卡,而不是所有产品类型

perl - 从 CPAN 安装模块时无法识别 dmake 命令

php - 访问自定义模块 Drupal 8 的 Twig 模板中的变量

PHP:如何更改依赖于另一个变量的变量? (新手的东西)

php - Laravel/PHP - 高级多态关系

JavaScript : module vs global function - what is a difference?