今天有时间写个magento插件的起步教程吧,就像在学各种语言的时候,我们学的第一个程序就是hello world。 1.首先我们下来了解几个文件夹
- app/etc/modules 此文家夹放的是插件的配置文件,可以在配置文件中设置插件的开启状态,插件文件夹的路径。
- app\code\local 与 app\code\community 功能都是一样的(英文中叫 codepool),区别就是字面上的意思,都是存放magento插件的文件夹。在app/etc/modules中的配置文件中要声明下存放在这两个文件中的哪一个。
2.下面让我们来看下今天 hello world 的文件以及文件夹结构 我们的插件包的名字是Modulepackage(称为Namespace,命名空间),插件的名字是Myfirstmodule(我们插件的名字),我们以一个最简单的文件结构来完成hello world这个例子。 app/etc/modules/Modulepackage_Myfirstmodule.xml //注意文件的大小写 app/code/local/Modulepackage/Myfirstmodule/controllers/IndexController.php //注意大小写 app/code/local/Modulepackage/Myfirstmodule/etc/config.xml //注意大小写 3.我们来看看各个文件的内容 在app/etc/modules/Modulepackage_Myfirstmodule.xml 中配置的声明是
<?xml version="1.0"?> <config> <modules> <Modulepackage_Myfirstmodule> <!-- 注意大小写--> <active>true</active> <!-- 插件默认激活的--> <codePool>local</codePool> <!--插件文件路径是app\code\local--> </Modulepackage_Myfirstmodule> <!--注意大小写--> </modules> </config>
在app\code\loca\Modulepackage\Myfirstmodule\etc\config.xml 中的声明是
<?xml version="1.0"?> <config> <modules> <Modulepackage_Myfirstmodule> <version>0.1.0</version> </Modulepackage_Myfirstmodule> </modules> <frontend> <routers> <myfirstmodule> <use>standard</use> <args> <module>Modulepackage_Myfirstmodule</module> <frontName>myfirstmodule</frontName> </args> </myfirstmodule> </routers> </frontend> </config>
在app/code/local/Modulepackage/Myfirstmodule/controllers/IndexController.php文件中的代码是
<?php class Modulepackage_Myfirstmodule_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() { echo 'hello world'; } }
4.下面让我们来试下下面的两个地址会显示什么 http://你的网址/myfirstmodule/ 5.这是一个超级简单的hello world,whatever 这仅仅是个hello world 6.一定要注意的是,要关闭缓存,在写插件或者写模版的时候,无论什么时候出了问题,第一个先想到magento的缓存。开发阶段,关掉缓存吧。 此教程代码文件 app.zip 此版本为1.1 请继续关注 转载表明出处: hellokeykey.com 右兜钥匙