- 浏览: 71997 次
- 性别:
- 来自: 上海
最新评论
Magento是一个十分优秀的电子商务系统,但是有时候我们需要增加一些新的功能或者修改原有的功能,一般情况下通过自己开发的扩展模块(module)可以满足要求。如果需要修改系统的一些默认行为(如结账,注册等),不提倡直接修改Magento本身模块里的代码(修改后无法升级,因为升级后所做的修改会被升级后的文件覆盖),这时候Magento提供的rewrite机制可以满足我们的要求。
Magento中可以rewrite的对象有:Block, Controller(frontend 和admin)以及Model。
最常用的是rewrite controller,参见:Magento重载Controller的方法。
通过rewrite控制器,可以修改系统本身模块的一些动作而又不改变原有的url。
其次是rewrite block,方法参见:
Magento中用子类替换Block
Rewrite block可以给系统原有的block类加入新的字段,方法,设置新的template等。
最后可以rewrite model,方法如下:
1. 在配置文件config.xml中加入:
Rewrite model后,通过
和
实际上获得的类是:
和
可以给原有的model加入新的字段,修改或加入新的方法。
Magento中可以rewrite的对象有:Block, Controller(frontend 和admin)以及Model。
最常用的是rewrite controller,参见:Magento重载Controller的方法。
通过rewrite控制器,可以修改系统本身模块的一些动作而又不改变原有的url。
其次是rewrite block,方法参见:
Magento中用子类替换Block
Rewrite block可以给系统原有的block类加入新的字段,方法,设置新的template等。
最后可以rewrite model,方法如下:
1. 在配置文件config.xml中加入:
<models> <enterprise_catalogpermissions> <!--被rewrite的model标识符--> <rewrite> <!--被rewrite类名--> <!--替换的全类名--> <observer>Glamour_Glscustomer_Model_Observer</observer> </rewrite> </enterprise_catalogpermissions> <customer> <rewrite> <session>Glamour_Glscustomer_Model_Customer_Session</session> </rewrite> </customer> ... </models>
Rewrite model后,通过
Mage::getModel('enterprise_catalogpermissions/observer')
和
Mage::getModel('customer/session')
实际上获得的类是:
Glamour_Glscustomer_Model_Observer
和
Glamour_Glscustomer_Model_Customer_Session。
可以给原有的model加入新的字段,修改或加入新的方法。
发表评论
-
Magento随机生成sales rule的coupon code
2013-01-02 22:09 2229在Magento中可以使用SalesRule模块下的Mage_ ... -
Magento 后台配置中实现日期选择 (Date picker)
2012-12-28 15:07 2461首先,创建一个新的Form Field 类: <?p ... -
获得指定customer 购买的产品数据
2011-12-10 20:54 1311获得指定customer 购买的产品信息,如果是configu ... -
将缺货产品放在产品列表后面
2011-12-10 20:50 1364Rewrite Mage_Catalog_Model_Laye ... -
Mac Lion上安装配置Nginx PHP PHP-FPM
2011-12-10 16:01 7994<!--?xml version="1.0&q ... -
How to customize Magento as CMS system (1.5.0 CE)
2011-03-06 22:42 1023Before install: 1. Go to app/et ... -
How to redirect to another url in block or template
2011-02-25 13:47 1093In Block class: public funct ... -
Use call back function to proccess Magento large collection
2011-01-19 12:58 913$orders = Mage::getModel('sal ... -
How to remove unnecessary columns in Magento collection
2011-01-19 12:56 1086$orders = Mage::getModel('sal ... -
How to calculate currency according to reward points rate in Magento
2011-01-13 18:03 1288$rate = Mage::getModel('enter ... -
增加Magento后台管理功能三:在后台设置(System/Configuration)中加入自定义设置
2010-11-30 16:17 1946在模块的etc目录下新建system.xml配置文件,内容如下 ... -
增加Magento后台管理功能二:开发后台Controller
2010-11-30 16:02 2683在模块的controllers目录下创建Adminhtml目录 ... -
增加Magento后台管理功能一:在后台管理界面加入菜单
2010-11-30 15:47 4494在模块的etc目录下增加adminhtml.xml配置文件,用 ... -
Magento在CMS Page中增加用户信息变量
2010-11-26 10:14 2799Magento的cms页面和static block页面中可以 ... -
Magento根据不同的浏览器自动切换package或 theme
2010-11-26 10:05 2027在后台设置中: System > Configurat ... -
Magento让后台数据列表中的action列链接在新窗口打开
2010-11-08 16:56 1127'actions' => array( ... -
Maegen获得后台当前用户的信息
2010-11-08 16:53 840$admin = Mage::getSingleton(' ... -
Magento中用子类替换Block
2010-10-15 10:47 1823Step 1:创建一个新的Module Step 2: 编辑模 ... -
Magento中添加带有选项的属性
2010-10-14 14:49 1417下面的代码为Customer实体添加了性别属性,有两个可选值 ... -
Magento为后台用户保存操作日志(企业版)
2010-09-19 17:00 2728protected function _logAdm ...
相关推荐
这是零基础进入到magento开发最佳文档,吐血推荐,这些文档80% 都是自己实践 开发时 整理出来的 难免有些错误的地方,欢迎帮忙指出。
magento 二次开发模块实例(代码) 复制到工程即可使用
Magento最简单的二次开发Helloworld源代码
Turiknox URL重写导入器概述一个简单的Magento模块,将允许您使用CSV文件将自定义URL重写导入管理员。要求Magento 2.1.x安装n 将模块的内容复制到您的Magento根目录中。 通过命令行启用模块: / path / to / ...
magento学习模块开发教程 magento二次开发Magento功能列表
如何在Magento2中使用OwlCarousel添加滑块? 下载此模块:V4U OwlCarousel 复制此模块并粘贴到magento-root / app / code文件夹中 运行以下命令: php bin / magento模块:状态 php bin / magento模块:启用V4U_...
本文档提供了创建和 Magento的应用程序进行安装定制的店面主题的说明。它描述 Magento的内容呈现过 程,并说明该系统的对有效地建立一个主题要求的范围内的观点层。该文件还走过日常前端开发人员的任 务。
Magento插件开发手册 Magento Extension Developers Guide
Magento 2的UserWay小部件扩展程序安装过程手动安装$ cd magento2_installation/app/code$ mkdir -p Userway/Widget$ cp sources Userway/Widget$ magento setup:upgrade$ magento setup:di:compile通过Composer...
magento2后端开发英文文档。
如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html
Magento13ThemeDesign.pdf [Packt]出品,最早的Magento主题/皮肤开发权威指南,原书地址:http://www.amazon.com/exec/obidos/ASIN/1847196640/pageturners0c
[Packt Publishing] Magento 扩展开发入门教程 (英文版) [Packt Publishing] Getting Started with Magento Extension Development (E-Book) ☆ 图书概要:☆ Understand Magento extensions, and build your own...
以详细的操作实例说明了magento的使用、配置、开发相关的实际应用。
Magento 2.2.4 / 2.2.5已修复问题#14951 该模块仅适用于Magento 2.2.4和2.2.5版本,升级/降级后需要将其删除。 假定此问题将。 这是针对的临时修复1.如何安装模块在Magento 2根文件夹中运行以下命令: composer ...
详细的讲解并分析了magento新闻开发案例,对magento二次开发是一次很好的总结
Meanbee_PWA 将功能添加到您的Magento商店。 功能包括: 可定制的服务人员缓存页面资产以加快页面加载离线缓存目录和CMS,可在网络状况不佳时...发展历程建立开发环境要使用Docker设置模块的开发环境,请运行以下命令
有magento大师编写的免费magento中文开发教程。
邀请开发人员在项目中包含此可重用的扩展,以实现更好的连接性。 因此,多余的RESTful已获得许可。 欢迎提供更多支持资源的建议,只需提出一个。 改进之处 与核心资源相比,所有Extra RESTful资源都具有以下优势: ...