- 浏览: 73768 次
- 性别:
- 来自: 上海
最新评论
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 2278在Magento中可以使用SalesRule模块下的Mage_ ... -
Magento 后台配置中实现日期选择 (Date picker)
2012-12-28 15:07 2518首先,创建一个新的Form Field 类: <?p ... -
获得指定customer 购买的产品数据
2011-12-10 20:54 1382获得指定customer 购买的产品信息,如果是configu ... -
将缺货产品放在产品列表后面
2011-12-10 20:50 1406Rewrite Mage_Catalog_Model_Laye ... -
Mac Lion上安装配置Nginx PHP PHP-FPM
2011-12-10 16:01 8045<!--?xml version="1.0&q ... -
How to customize Magento as CMS system (1.5.0 CE)
2011-03-06 22:42 1071Before install: 1. Go to app/et ... -
How to redirect to another url in block or template
2011-02-25 13:47 1138In Block class: public funct ... -
Use call back function to proccess Magento large collection
2011-01-19 12:58 952$orders = Mage::getModel('sal ... -
How to remove unnecessary columns in Magento collection
2011-01-19 12:56 1142$orders = Mage::getModel('sal ... -
How to calculate currency according to reward points rate in Magento
2011-01-13 18:03 1342$rate = Mage::getModel('enter ... -
增加Magento后台管理功能三:在后台设置(System/Configuration)中加入自定义设置
2010-11-30 16:17 1983在模块的etc目录下新建system.xml配置文件,内容如下 ... -
增加Magento后台管理功能二:开发后台Controller
2010-11-30 16:02 2715在模块的controllers目录下创建Adminhtml目录 ... -
增加Magento后台管理功能一:在后台管理界面加入菜单
2010-11-30 15:47 4548在模块的etc目录下增加adminhtml.xml配置文件,用 ... -
Magento在CMS Page中增加用户信息变量
2010-11-26 10:14 2837Magento的cms页面和static block页面中可以 ... -
Magento根据不同的浏览器自动切换package或 theme
2010-11-26 10:05 2090在后台设置中: System > Configurat ... -
Magento让后台数据列表中的action列链接在新窗口打开
2010-11-08 16:56 1190'actions' => array( ... -
Maegen获得后台当前用户的信息
2010-11-08 16:53 942$admin = Mage::getSingleton(' ... -
Magento中用子类替换Block
2010-10-15 10:47 1865Step 1:创建一个新的Module Step 2: 编辑模 ... -
Magento中添加带有选项的属性
2010-10-14 14:49 1464下面的代码为Customer实体添加了性别属性,有两个可选值 ... -
Magento为后台用户保存操作日志(企业版)
2010-09-19 17:00 2771protected function _logAdm ...
相关推荐
在进行Magento的二次开发时,你需要理解并掌握以下几个核心概念和技术: 1. **MVC架构**:Magento基于Model-View-Controller(MVC)设计模式,这有助于将业务逻辑、数据处理和用户界面分离开来,提高代码的可维护性...
在Magento的二次开发中,模块的创建和扩展是核心部分。本实例提供了具体的模块开发代码,帮助开发者深入理解Magento的架构和工作原理。 首先,我们需要了解Magento的模块化结构。在Magento中,每个功能或服务都是一...
在Magento的二次开发中,"Hello World"是一个经典的入门示例,它帮助开发者熟悉Magento的结构和工作流程。在这个项目中,我们将深入探讨Magento的二次开发过程,特别是通过"Hello World"插件来了解其基本操作。 ...
本文档提供了创建和 Magento的应用程序进行安装定制的店面主题的说明。它描述 Magento的内容呈现过 程,并说明该系统的对有效地建立一个主题要求的范围内的观点层。该文件还走过日常前端开发人员的任 务。
此外,他们还为商家提供第二级别的支持服务,包括为商家的内部开发团队提供支持。这表明文档的编写者具有实际从事Magento 2开发和服务经验。 知识点包括: 1. Magento 2后端开发:涉及后台管理功能、模块开发、...
在进行Magento 2的二次开发时,你需要掌握以下技术: 1. **PHP基础知识**:包括面向对象编程、命名空间、类库和函数的使用。 2. **Magento 2架构**:理解其模块化结构,包括Block、Model、Controller、View和...
《Magento插件开发手册》是一份详尽的指南,旨在帮助开发者理解Magento的核心架构、编码标准以及如何创建和部署自定义插件。 ### Magento核心架构与代码组织 Magento的核心应用结构基于模块化设计,允许开发者通过...
Turiknox URL重写导入器概述一个简单的Magento模块,将允许您使用CSV文件将自定义URL重写导入管理员。要求Magento 2.1.x安装n 将模块的内容复制到您的Magento根目录中。 通过命令行启用模块: / path / to / ...
本教程将深入探讨Magento的开发技术,旨在帮助初学者和经验丰富的开发者更好地理解和利用这一平台。 1. **Magento架构与组件**:Magento采用模块化架构,由多个相互独立的模块组成,每个模块负责特定的功能。了解...
以下将详细介绍Magento的使用和开发相关知识点。 首先,Magento的特色在于其强大的电子商务功能和灵活性。它支持多网站和多商店管理,允许商家在一个后台管理多个网站或商店。其程序架构分为内核(Core)、本地模块...
二、Magento的后台管理 Magento的后台管理系统提供了全面的店铺管理功能,如商品管理、订单处理、客户管理、营销活动设置等。你可以在这里添加、编辑商品信息,包括价格、库存、描述等;处理订单状态,包括付款、...
如何在Magento2中使用OwlCarousel添加滑块? 下载此模块:V4U OwlCarousel 复制此模块并粘贴到magento-root / app / code文件夹中 运行以下命令: php bin / magento模块:状态 php bin / magento模块:启用V4U_...
本书主要内容涵盖了 Magento 1.3 版本的主题设计和开发。它不仅教授了如何创建新的主题,还包括了如何修改现有主题以适应特定的需求。通过阅读本书,读者将能够: 1. **理解 Magento 的主题架构**:深入学习 ...
**Magento开发手册**是一部针对Magento二次开发的专业指南,特别适合于PHP程序员使用。本书详细介绍了如何利用Magento平台进行高效、高质量的电子商务网站开发。 - **目标读者:** - **开发者**:包括初学者到经验...
中文开发手册是对 Magento 进行二次开发的重要参考资料,特别适合有经验的 PHP 开发者深入学习和理解其核心机制。 首先,我们来关注 Magento 的配置系统,它是整个框架的灵魂。Magento 的配置系统是一个动态生成的 ...
本教程将引导你逐步深入Magento的模块组件或插件开发,让你从基础到高级,全面掌握Magento的开发技巧。 首先,我们从“magento的框架结构”开始。Magento采用的是MVC(Model-View-Controller)架构,这种设计模式在...
Magento 2的UserWay小部件扩展程序安装过程手动安装$ cd magento2_installation/app/code$ mkdir -p Userway/Widget$ cp sources Userway/Widget$ magento setup:upgrade$ magento setup:di:compile通过Composer...
4. 模块开发:深入探讨如何创建和开发Magento模块,模块是Magento扩展功能的主要方式,包括如何注册和启用模块,如何定义配置文件、数据模型、控制器和视图文件等。 5. 主题和样式定制:指导开发者如何通过修改或...
如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html