magento1.9创建新模块

创建模块思路:

  1. 创建一个 test模块
  2. 为这个模块配置路由
  3. 为这个模块创建执行控制器

第一步:
我们要创建一个模块的目录结构

app/code/local/公司名称/模块名字/...
//命名规则

app/code/local/Goglobalis/Test/Block 
app/code/local/Goglobalis/Test/controllers 
app/code/local/Goglobalis/Test/etc
app/code/local/Goglobalis/Test/Helper 
app/code/local/Goglobalis/Test/Model 
app/code/local/Goglobalis/Test/sql 

第二步:创建config文件,并为模块分配路由

app/code/local/Goglobalis/Test/etc/config.xml

编辑config.xml 内容如下:

<config>
	<modules><!-- 模块版本信息-->
		<Goglobalis_Test>
			<version>0.1</version>
		</Goglobalis_Test>
	</modules>
	<frontend><!--定义magento区 frontend网站前台-->
		<routers><!--<routers>标签有时候包含的是路由对象的定义,有时候包含的是路径的定义。路由对象是进行路由操作的实体,而路径仅仅是路由对象的一个参数-->
			<test>
				<use>standard</use><!--使用标准固定写法-->
					<args>
						<module>Goglobalis_Test</module><!-- 模块全名  定义你的模块文件-->
						<frontName>test</frontName><!-- 模块名称(此处仅支持小写)-->
					</args>	
			</test>
		</routers>
	</frontend>
</config>

第三步:创建一个系统配置文件来激活这个模块
然后我们要创建一个系统配置文件来激活这个模块 app/etc/modules/Goglobalis_Test.xml
内容如下:

<config>
	<modules>
		<Goglobalis_Test>
			<active>true</active>
			<codePool>local</codePool>
		</Goglobalis_Test>
	</modules>
</config>

激活后:让我们检查一下模块是不是已经被激活

  1. 清空 Magento 缓存
  2. 在管理后台,进入 System->Configuration->Advanced
  3. 展开“DisableModulesOutput”
  4. 确认 Goglobalis_Test显示出来了
    这里写图片描述

第四步:为路由创建创建执行控制器
app/code/local/Goglobalis/Test/controllers/indexController.php

<?php
//我们自己定义的属于 frontend 区的执行控制器都应该继承 Mage_Core_Controller_Front_Action
	class Goglobalis_Test_indexController extends Mage_Core_Controller_Front_Action{
		public function indexAction(){
			echo 'Hellw Word!';
		}
		
	}

清空 Magento 缓存,请求如下 URL http://exmaple.com/test/index/index 如果你看到一个空白页面上面写着“Hello World!”,那么恭喜你,你已经成功 创建了你的第一个 Magento 控制器!

如何命名执行控制器?
如上我们创建的事index控制器,那如果想创建login控制器呢?
只需要改动第四步两个地方即可:
这里写图片描述
改成loginController即可

Magento 默认的路由的规则如下 http://www.efish.tk/frontName/actionControllerName/actionMethod/
所以在我们请求的 URL http://exmaple.com/test/index/index 其中“test”是“frontName”,第一个“index”是执行控制器(Action Controller)的名字,第二个“index”是执行方法的名字。对比我们写的执行 控制器代码,我们不难发现执行方法的定义是执行方法名字加上 “Action”关 键字 public function indexAction(){…} Magento 根据命名规则找到执行控制器文件并实例化,然后再根据命名规则调用 指定的执行方法。
如果 URL 没有给出执行控制器名字或者执行方法,Magento 会 用默认的“index”来替代,
所以下面三个 URL 是等价的
http://exmaple.com/test/index/index
http://exmaple.com/test/index
http://exmaple.com/test
我们再来看一个例子。
如果 URL 如下 http://exmaple.com/checkout/cart/add
Magento 的执行步骤如下

  1. 查询全局配置,找到 frontName“checkout”对应的模块,Mage_Checkout
  2. 找到执行控制器 “Mage_Checkout_CartController”
  3. 调用执行控制器的“addAction”方法

联系我:798932948@qq.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值