9

我在谷歌上看了又看,但找不到一个网站来解释 6 个模块子文件夹中的每一个是什么。我通常很擅长在谷歌上找东西,但这个一直没有找到。

有人能解释一下 Magento 模块(块、控制器等、Helper、Model、sql)中每个子文件夹之间的区别吗?

4

2 回答 2

31

简而言之:

Block负责渲染内容(来自前端、后端、电子邮件等的所有内容)。如果内容正在某个地方显示,则很可能是一个块。

控制器负责处理通过 url 发出的所有请求。如果您点击 url http://www.example.com/catalog/product/view/id/9/您点击了controllers/ProductController.php中的目录模块以及viewAction()方法的内部。如果您在 Magento 中点击 URL,则请求会通过一个或多个控制器。

etc包含模块的任何配置 xml 文件。这些负责从 ACL(访问控制列表)到如何访问块/模型等到系统配置设置的所有内容。一些示例文件:

  • adminhtml.xml - 处理大部分管理方面。它处理 ACL 和菜单控制。该文件是可选的。
  • config.xml - 处理模块的所有基本配置。该文件定义了如何/在哪里找到帮助程序、块、模型、资源、默认模块设置、重写、观察者、前端布局文件和大量其他配置。该文件是模块运行所必需的。
  • System.xml - 包含插入到站点的系统 -> 配置部分的所有系统配置。
  • 还有其他的,但它们比你所要求的更高级。

助手- 这些文件是“助手”。它们包含模块共有的功能或其他模块可以访问的功能。其中一项功能是提供翻译。此外,Data.php 是此处包含的默认帮助程序。如果您有系统配置,则需要 Data.php 才能正确显示系统配置。

模型- 这些是您的数据对象。例如,产品或类别是模型。它们提供数据管理功能。它们与模型文件夹中包含的 Resource 文件夹交互以访问数据库,并与 Collections 交互以获取对象集合。

sql - 这些是您的设置脚本。如果配置正确,则安装模块后,可能需要对数据库进行一些更改:向产品添加表、属性或自定义配置。


我建议看看http://alanstorm.com/category/magento

他有许多示例、教程和其他好的技巧,是一个更完整的起点。

于 2013-01-11T18:17:17.503 回答
5

了解每个功能的最佳方法是查看核心模块。

Helpers - Magento 的 Helper 类包含实用方法,允许您对对象和变量执行常见任务。例如:$helper = Mage::helper('catalog')

Blocks - 每个 Block 对象将呈现特定的 HTML 位。块对象通过 PHP 代码的组合实现这一点,包括 PHP .phtml 模板文件。Blocks 对象旨在与 Magento 系统交互以从模型中检索数据,而 phtml 模板文件将生成页面所需的 HTML

控制器- 在任何 PHP 系统中,主要的 PHP 入口点仍然是一个 PHP 文件。Magento 也不例外,该文件是 index.php。

Magento 模型- Magento 与当今的大多数框架一样,提供对象关系映射 (ORM) 系统。ORM 让您摆脱编写 SQL 的工作,并允许您纯粹通过 PHP 代码(和其他核心业务逻辑)来操作数据存储

- 这是您放置配置文件(config.xml、system.xml 和/或 adminhtml.xml)的位置,以告诉 magento 您的模块可以访问什么以及有关您的自定义模块的其他配置(参见示例

sql - 这是您放置设置脚本的位置(例如,将新表添加到您的 magento db)

看看@ Magento for Developers:第 1 部分 - Magento 简介

于 2013-01-11T18:19:56.033 回答