这篇博客中,我们将要了解到如何根据magento模块开发和基本文件的要求开发一个模块。这是一个基本的Hello World模块,使用我们自定义的模块,在magento页面上输出"Hello World!"。magento模块使用MVC模型(模型、视图、控制器)。所以在我们的模块中,必须依据MVC结构创建文件结构。
在开始创建模块之前,我们必须先确定模块的名字。创建模块之后改变这个模块的名是很难得。模块的名字一般由两部分组成:< CompanyName >_< ModuleName >或者也可以叫做< NameSpace >_< ModuleName >。在这篇博客中将使用Megease_Test。
第一步:给模块创建文件夹和文件。
首先:我们需要在app/etc/module下创建Magease_Test.xml文件。
< ?xml version='1.0'? >
< config >
< modules >
< Magease_Test >< !--模块名字-- >
< active >true< /active >< !--模块是否选择开启-- >
< codePool >local< /codePool >< !--模块位置-- >
< /Magease_Test >
< /modules >
< /config >
这是一个非常重要的文件,它告诉magento这个模块的信息。只有根据这个文件,magento才能读取到我们的模块。在某些情况下,如果你希望禁用这个模块,你可以简单的把这个文件的名字修改了。
第二步:进入app/code/local文件夹下,按照以下文件结构创建文件夹
< ?xml version="1.0"? >
< config >
< modules >
< Magease_Test >
< version >0.1.0< /version > < !-- 模块版本信息-- >
< /Magease_Test >
< /modules >
< frontend >
< routers >
< test >
< use >standard< /use >
< args >
< module >Magease_Test< /module >
< frontName >test< /frontName >< !-- 模块URL:例如www.yourmagento.com/index.php/test将会是你的模块的URL.-- >
< /args >
< /test >
< /routers >
< /frontend >
< global >
< blocks >
< test >
< class >Magease_Test_Block< /class > < !-- Block文件路径, 与视图相关的php文件存放的位置 -- >
< /test >
< /blocks >
< helpers >
< test >
< class >Magease_Test_Helper< /class > < !-- Helper文件的路径 -- >
< /test >
< /helpers >
< /global >
< /config >
第三步:我们将要创建控制器文件。控制器文件用来管理视图和模型。当打开一个URL时,控制器文件是第一个被执行的文件。
现在创建一个文件,并命名为IndexController.php。
< ?php
class Magease_Test_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
echo "Hello World!";
}
}
? >
这里有一些重要的地方需要注意:
1.第一个是类名:Magease_Test_IndexController。在magento中类名取决于该文件所在文件夹的位置,因此,例如类Mage_Core_Controller_Front_Action位于Mage/Core/Controller/Front/Action.php文件。
2.所有的控制器文件必须继承于Mage_Core_Controller_Front_Action.
现在可以打开URL www.your-magento.com/test来测试一下模块是否正确,如果正确,屏幕上应该显示Hello World!。