今天有时间写个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>
<?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>
<?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 右兜钥匙
在1.4.0.1中,完全照做后,报404错,没有任何输出
哈哈,我写的都没有试,没关系,我试下。对了,注意清空缓存
我试完了,可以的。因为太简单都没有试下,你要注意缓存,清空或者刷新下缓存
我的也出现了404,缓存已经清除了的
我试过了,可以的,在index.php/Myfirstmodule/