`
mypages
  • 浏览: 90348 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

magento - 如何为某个action指定observer(或称事件event)

阅读更多

magento - 如何为某个action指定observer(或称事件event)

有一个需求是很现实的,那就是要求说在客户添加商品到购物栏时做某些特定的处理,这个时候我们需要对magento的checkout模块的cartController的add action做修改,当然为了在下次版本更新时方便起见,同时也是遵循magento的灵活开发规范,我们应该不去修改它的代码,当然你可以想建个新模块重写这个controller,这不是不可以,但是事实上你可以利用magento的observer来实现。

首先在config.xml中添加:

    < events >
      < checkout_cart_after_add >
        < observers >
          < my_custom_observer >
            < type > model </ type >
            <class> mymodule / observer </class>
            < method > cartAfterAdd </ method >
          </ my_custom_observer >
        </ observers >
      </ checkout_cart_after_add >
    </ events >

然后创建你的observer类:

<?php

class  Mage_MyModule_Model_Observer
{
   function  addCartAfter ( $observer )
   {
    $event  =  $observer -> getEvent ();
// now you can reference any arguments that were supplied during event dispatch
// look in $eventArgs in addAction
    $product  =  $event -> getProduct ();
    $qty  =  $event -> getQty ();
    $request  =  $event -> getRequest ();
// .. your custom processing here
   }
}


如果你有兴趣可以进一步了解magento是如何处理调用observer的。

分享到:
评论

相关推荐

    Magento-中文开发教程

    Magento-中文开发教程, 欢迎大家指出错误。 深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解...

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制.zip

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统&gt; 配置&gt;的自动或者手动配置高级&gt; Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...

    Magento-中文开发教程.doc

    Magento是一款强大的开源电子商务平台,专为在线商家设计,提供丰富的功能和高度的可定制性。本教程将深入探讨Magento的使用、配置以及开发实践,帮助读者掌握这一强大的系统。 一、Magento的基础架构与安装 ...

    Magento-SMTP-Email

    Magento的SMTP插件是为了克服默认邮件发送机制可能遇到的问题,如邮件被标记为垃圾邮件或无法送达。通过集成SMTP插件,商家可以使用自己的SMTP服务器,如Gmail、Yahoo、Microsoft Exchange等,确保邮件能够准确无误...

    magento-1.8.0.0.tar.gz

    1. **模块化结构**:Magento采用模块化设计,允许开发者通过安装、卸载和禁用模块来扩展或调整其功能。这种架构使得系统维护和升级更加方便。 2. **多店支持**:Magento 1.8.0.0 支持多店铺管理,用户可以在同一个...

    magento-java-master.zip_magento

    这个“magento-java-master.zip_magento”压缩包可能是为了提供一个Java连接Magento源码的示例或者库,帮助开发者实现Java与Magento系统的交互。 在Java中与Magento进行交互通常涉及到以下几个关键知识点: 1. **...

    magento-演示数据1.6.1.0

    "magento-演示数据1.6.1.0"是一个专门为Magento 1.6.1.0版本准备的示例数据包,它包含了用于演示和测试 Magento 商店功能的各种数据,如产品、类别、顾客、订单等。 该压缩包文件“magento-sample-data-1.6.1.0”...

    magento-ce-2.4.2-p1-2021-04-22-10-49-09.zip

    因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09

    magento -redis 插件安装包

    Magento是一款强大的开源电子商务平台,而Redis则是一种高性能的键值数据存储系统,常用于缓存、session管理等场景。在Magento中集成Redis插件可以显著提升网站性能,降低数据库负载,尤其是在处理高并发请求时。...

    magento-1.7.0.2汉化包|magento-1.7.0.2中文语言包下载

    标题提到的是"magento-1.7.0.2汉化包",这表明我们讨论的是Magento 1.7.0.2版本的中文语言包。这个版本是Magento在2012年发布的一个稳定版本,对于中国市场来说,汉化包的提供极大地提高了中国用户使用该平台的便利...

    PyPI 官网下载 | magento-0.6dev.tar.gz

    标题中的"PyPI 官网下载 | magento-0.6dev.tar.gz"指的是Python Package Index(PyPI)上的一个项目,它是一个名为"Magento"的软件包的特定版本,即0.6dev。PyPI是Python开发者发布和分享他们自己创建的Python库或...

    magento-1.7.0.7z

    这个7z压缩包“magento-1.7.0.7z”包含了用于安装Magento 1.7.0的所有必要文件,而“magento-1.7.0.2.tar”可能是该版本的一个特定更新或备份文件。 在深入探讨Magento 1.7.0的知识点之前,我们首先要了解它为何...

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz源自官网

    magento-coding-standard:Magento编码标准

    在Magento 2站点内安装要在您的Magento 2项目中使用,可以使用: composer require --dev magento/magento-coding-standard 出于安全考虑,以这种方式安装时,无法自动添加phpcs的Magento标准。 您可以通过将以下...

    magento-stock-movements, Magento扩展,节省产品库存.zip

    magento-stock-movements, Magento扩展,节省产品库存 节省你的Magento产品的库存 特性将库存移动保存在产品修改页面的新标签中安装 Magento 1.5. x, 1.6. x, 1.7. x, 1.8. x, 1.9.x使用 modgit 安装:$ cd/pat

    Ajax-Magento-ajax-add-to-cart.zip

    Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...

    magento-1.9.1.1-2015-04-30-12-49-08

    这个标题"magento-1.9.1.1-2015-04-30-12-49-08"指的是Magento的一个特定版本,即1.9.1.1,发布于2015年4月30日,具体时间是12:49:08。这个版本包含了该阶段Magento系统的所有更新、修复和增强功能。 Magento 1.9....

    Magento-Vagrant-Puppet-Nginx:安装magento和Nginx服务器

    Magento-Vagrant-Puppet-Nginx 安装次数 Magento MySQL PHP PHP-FPM Nginx的 n98-玛格伦 设置 git submodule init git submodule update vagrant up 修改人偶/清单/base.pp class { "magento" : install_...

Global site tag (gtag.js) - Google Analytics