我看了一眼谷歌,但找不到一个网站,解释每个6个模块子文件夹是什么。我通常很擅长在谷歌上找东西,但是这个东西一直都没有。
有人可以解释Magento模块中每个子文件夹之间的差异(块,控制器等,Helper,Model,sql)吗?
答案 0 :(得分:26)
简而言之:
阻止负责呈现内容(来自前端,后端,电子邮件等的所有内容)。如果内容正在某个地方显示,则可能是一个阻止。
控制器负责处理通过网址发出的所有请求。如果您点击了网址http://www.example.com/catalog/product/view/id/9/,则会点击 controllers / ProductController.php 中的目录模块,并在其中找到 viewAction()方法。如果您点击Magento中的URL,请求将通过一个或多个控制器。
etc 包含模块的所有配置xml文件。它们负责从ACL(访问控制列表)到如何访问块/模型等到系统配置设置的所有内容。一些示例文件:
帮助者 - 这些文件是“帮助者”。它们包含模块通用的功能或可由其他模块访问的功能。这些功能的一个功能是提供翻译。此外,Data.php是此处包含的默认帮助程序。如果您有系统配置,则需要Data.php才能使系统配置正确显示。
模型 - 这些是您的数据对象。例如,产品或类别是模型。它们提供数据管理功能。它们与模型文件夹中包含的Resource文件夹进行交互以访问数据库,并使用Collections来获取对象集合。
sql - 这些是您的设置脚本。如果正确配置了模块,则可能需要对数据库进行一些更改:向表中添加表,向产品添加属性或自定义配置。
我建议您查看http://alanstorm.com/category/magento
他有很多样本,教程和其他好的技巧,是一个更完整的起点。
答案 1 :(得分:5)
了解每项功能的最佳方法是查看核心模块。
帮助程序 - Magento的Helper类包含实用程序方法,允许您对对象和变量执行常见任务。例如:$ helper = Mage :: helper('catalog')
块 - 每个Block对象将呈现特定的HTML位。块对象通过PHP代码和PHP .phtml模板文件的组合来完成此操作。 Blocks对象旨在与Magento系统交互以从Models中检索数据,而phtml模板文件将生成页面所需的HTML
控制器 - 在任何PHP系统中,主要的PHP入口点仍然是PHP文件。 Magento也不例外,该文件是index.php。
Magento模型 - 与大多数框架一样,Magento提供了一个对象关系映射(ORM)系统。 ORM让你脱离编写SQL的业务,并允许你纯粹通过PHP代码(和其他核心业务逻辑)操作数据存储区
等 - 这是您放置配置文件(config.xml,system.xml和/或adminhtml.xml)的地方,告诉magento您的模块可以访问的内容以及有关您的模块的其他配置自定义模块(请参阅example)
sql - 这是您放置设置脚本的位置(例如,向您的magento数据库添加新表)
看看@ Magento for Developers: Part 1 - Introduction to Magento