`
cgzhang
  • 浏览: 73768 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Magento二次开发的利器:Rewrite

阅读更多
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中加入:
<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加入新的字段,修改或加入新的方法。
0
1
分享到:
评论

相关推荐

    magento二次开发大全

    在进行Magento的二次开发时,你需要理解并掌握以下几个核心概念和技术: 1. **MVC架构**:Magento基于Model-View-Controller(MVC)设计模式,这有助于将业务逻辑、数据处理和用户界面分离开来,提高代码的可维护性...

    magento 二次开发模块实例(代码)

    在Magento的二次开发中,模块的创建和扩展是核心部分。本实例提供了具体的模块开发代码,帮助开发者深入理解Magento的架构和工作原理。 首先,我们需要了解Magento的模块化结构。在Magento中,每个功能或服务都是一...

    Magento最简单的二次开发Helloworld源代码

    在Magento的二次开发中,"Hello World"是一个经典的入门示例,它帮助开发者熟悉Magento的结构和工作流程。在这个项目中,我们将深入探讨Magento的二次开发过程,特别是通过"Hello World"插件来了解其基本操作。 ...

    Magento2.0中文开发手册

    本文档提供了创建和 Magento的应用程序进行安装定制的店面主题的说明。它描述 Magento的内容呈现过 程,并说明该系统的对有效地建立一个主题要求的范围内的观点层。该文件还走过日常前端开发人员的任 务。

    magento2后端开发

    此外,他们还为商家提供第二级别的支持服务,包括为商家的内部开发团队提供支持。这表明文档的编写者具有实际从事Magento 2开发和服务经验。 知识点包括: 1. Magento 2后端开发:涉及后台管理功能、模块开发、...

    magent2外贸电商开源系统源码,PHP版本,支持二次开发

    在进行Magento 2的二次开发时,你需要掌握以下技术: 1. **PHP基础知识**:包括面向对象编程、命名空间、类库和函数的使用。 2. **Magento 2架构**:理解其模块化结构,包括Block、Model、Controller、View和...

    Magento插件开发手册 Magento Extension Developers Guide

    《Magento插件开发手册》是一份详尽的指南,旨在帮助开发者理解Magento的核心架构、编码标准以及如何创建和部署自定义插件。 ### Magento核心架构与代码组织 Magento的核心应用结构基于模块化设计,允许开发者通过...

    magento2-urlrewriteimporter:一个简单的Magento模块,将允许您使用CSV文件将自定义URL重写导入到管理员

    Turiknox URL重写导入器概述一个简单的Magento模块,将允许您使用CSV文件将自定义URL重写导入管理员。要求Magento 2.1.x安装n 将模块的内容复制到您的Magento根目录中。 通过命令行启用模块: / path / to / ...

    magento中文开发教程

    本教程将深入探讨Magento的开发技术,旨在帮助初学者和经验丰富的开发者更好地理解和利用这一平台。 1. **Magento架构与组件**:Magento采用模块化架构,由多个相互独立的模块组成,每个模块负责特定的功能。了解...

    magento使用和开发

    以下将详细介绍Magento的使用和开发相关知识点。 首先,Magento的特色在于其强大的电子商务功能和灵活性。它支持多网站和多商店管理,允许商家在一个后台管理多个网站或商店。其程序架构分为内核(Core)、本地模块...

    Magento-中文开发教程.doc

    二、Magento的后台管理 Magento的后台管理系统提供了全面的店铺管理功能,如商品管理、订单处理、客户管理、营销活动设置等。你可以在这里添加、编辑商品信息,包括价格、库存、描述等;处理订单状态,包括付款、...

    v4u-magento2-owlcarousel:Magento2使用OwlCarousel添加滑块

    如何在Magento2中使用OwlCarousel添加滑块? 下载此模块:V4U OwlCarousel 复制此模块并粘贴到magento-root / app / code文件夹中 运行以下命令: php bin / magento模块:状态 php bin / magento模块:启用V4U_...

    Magento 1.3 Theme Design ([Packt]出品 Magento 1.3主题开发)

    本书主要内容涵盖了 Magento 1.3 版本的主题设计和开发。它不仅教授了如何创建新的主题,还包括了如何修改现有主题以适应特定的需求。通过阅读本书,读者将能够: 1. **理解 Magento 的主题架构**:深入学习 ...

    Magento开发手册

    **Magento开发手册**是一部针对Magento二次开发的专业指南,特别适合于PHP程序员使用。本书详细介绍了如何利用Magento平台进行高效、高质量的电子商务网站开发。 - **目标读者:** - **开发者**:包括初学者到经验...

    magento 中文开发手册

    中文开发手册是对 Magento 进行二次开发的重要参考资料,特别适合有经验的 PHP 开发者深入学习和理解其核心机制。 首先,我们来关注 Magento 的配置系统,它是整个框架的灵魂。Magento 的配置系统是一个动态生成的 ...

    magento模块组件或插件开发教程

    本教程将引导你逐步深入Magento的模块组件或插件开发,让你从基础到高级,全面掌握Magento的开发技巧。 首先,我们从“magento的框架结构”开始。Magento采用的是MVC(Model-View-Controller)架构,这种设计模式在...

    magento-accessibility-plugin:Magento的UserWay可访问性插件

    Magento 2的UserWay小部件扩展程序安装过程手动安装$ cd magento2_installation/app/code$ mkdir -p Userway/Widget$ cp sources Userway/Widget$ magento setup:upgrade$ magento setup:di:compile通过Composer...

    Magento php开发指南

    4. 模块开发:深入探讨如何创建和开发Magento模块,模块是Magento扩展功能的主要方式,包括如何注册和启用模块,如何定义配置文件、数据模型、控制器和视图文件等。 5. 主题和样式定制:指导开发者如何通过修改或...

    Magento 给产品描述关键字批量链接插件

    如何给产品描述里的关键字...可是由于需要,不得不自己开发一个这样的插件。并支持到Magento1.6.2 说明请查看:http://www.hicoogle.com/magento-gei-chan-pin-miao-shu-guan-jian-zi-pi-liang-lian-jie-cha-jian.html

Global site tag (gtag.js) - Google Analytics