`
hudeyong926
  • 浏览: 2034843 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Magento 中的事件

 
阅读更多

magento的事件机制就跟dural的hook机制一样,为了更好的扩展magento。magento里面的很多操作都是有事件派送的,比如产品的保存,删除,订单的保存,等等,很多很多。

如何在自己的程序中派送事件?

事件派送很简单,如以下代码

Mage::dispatchEvent('checkout_onepage_controller_success_action', array('quote_item' => $item));

如何监听事件?

可以使用 Mage::addObserver来监听事件,但一般不那样做,基本上都是在etc/config.xml只添加的。 如以下代码

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <global>
        <models>
            <boomorder>
                <class>Boom_Order_Model</class>
            </boomorder>
        </models>
    </global>
    <frontend>
        <events>
            <checkout_onepage_controller_success_action>
                <observers>
                    <boom_order_observer>
                        <type>singleton</type>
                        <class>boom_order_model_observer</class>
                        <method>myOrderProcess</method>
                    </boom_order_observer>
                </observers>
            </checkout_onepage_controller_success_action>
        </events>
    </frontend>
</config>

当checkout_onepage_controller_success_action事件派送之后,会有函数会执行,它们分别是Boom/Order/Model/ Observer.php文件里面的myOrderProcess方法。

<?php
class Boom_Order_Model_Observer
{
    /**
     * Event Hook: checkout_onepage_controller_success_action
     * @param $observer Varien_Event_Observer
     */
    public function myOrderProcess($observer)
    {
        Mage::log("Enter myOrderProcess");
        $order = new Mage_Sales_Model_Order();
        $incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
        $order->loadByIncrementId($incrementId);
        Mage::log("Exit myOrderProcess");
    }
}

 sdfs

分享到:
评论

相关推荐

    Magento Events CheatSheet (Magento事件速查表)

    本篇文章将详细介绍 Magento 事件速查表中的关键事件,帮助开发者更好地了解如何在 Magento 中使用这些事件。 #### 1. admin_user_authenticated **位置:** User.php(第 239 行) **用途:** 此事件在管理员...

    magento事件清单

    Magento作为一个强大的电子商务平台,其事件驱动架构是其核心特性之一,允许开发者在特定的业务流程节点上执行自定义代码,...希望本文能帮助您更深入地掌握Magento事件驱动架构,助力您的电子商务项目取得更大成功。

    magento 中文开发手册

    要理解这一系统,你需要创建并查看一个简单的模块(Magento 中称为 module),这将帮助你直观感受配置文件的工作方式。 模块是 Magento 的基本构建单元,它们由 PHP 和 XML 文件构成,用于扩展或修改系统功能。例如...

    magento中文开发教程

    2. **Magento插件开发**:在Magento中,插件(也称为扩展)用于增强或改变系统功能。学习如何创建、注册和配置插件,包括编写前置/后置操作、重写类和定义插件接口。 3. **模块开发**:掌握创建新模块的步骤,包括...

    magento事件列表

    magento事件列表,英文版,做监听用的到

    Magento 常用方法和插件

    在Magento的开发过程中,掌握常用的方法和插件是提高工作效率的关键。这篇博客"Magento 常用方法和插件"可能涵盖了以下方面: 首先,关于Magento的核心概念,我们需要了解其模块化架构。Magento将功能分解为模块,...

    magento官方文档翻译超好

    本文将深入探讨Magento中的数据层操作与数据封装机制,特别是VarienDataCollections这一关键概念,并通过实际代码示例进行讲解。 #### 二、Magento中的数据封装 在Magento中,数据封装主要是通过`Varien_Object`类...

    Magento插件开发手册 Magento Extension Developers Guide

    10. **事件处理**:使用Magento的事件观察者机制来响应系统中的特定事件。 11. **后端开发**:设计和实现插件的后端界面,包括配置、列表视图和编辑表单。 ### 高级主题 - **信任插件开发**:了解如何创建受信任的...

    magento数据结构分析

    **SYSTEMLOGS**, **DATAFLOW**, **EAVENTITYTYPE**, **EAVATTRIBUTE**:这些表涉及标签管理、系统布局、API接口、目录管理、事件报告、系统日志、数据流控制、实体类型定义和属性定义,共同支持了Magento系统的全面...

    Magento php开发指南

    3. 核心概念理解:详细介绍Magento中的核心概念,如实体属性(EAV)模型、事件/观察者模式、依赖注入等,这些都是开发Magento模块不可或缺的基础知识。 4. 模块开发:深入探讨如何创建和开发Magento模块,模块是...

    Magento1产品预览

    此外,Magento的事件观察者机制也可能在产品预览中发挥作用。开发者可以通过监听特定的事件,比如`catalog_product_view`,并在对应的事件处理函数中实现预览功能。这可以在`app/code`目录下的`etc/config.xml`文件...

    Magento-中文开发教程(技术重点2)

    观察者模式是一种常用的 Magento 扩展技术,通过注册观察者来监听特定事件并在事件发生时执行自定义代码。 - **重写类和方法** 通过在模块的配置文件中指定类和方法的重写规则,可以覆盖 Magento 的默认行为。...

    magento 限时抢购 countdown

    在Magento中,"限时抢购"(Flash Sales)是一种促销策略,它允许商家在特定时间内提供特别优惠,以吸引更多的顾客并增加销售额。"CountDown"在此上下文中通常指的是倒计时计时器,这种计时器会在限时抢购活动页面上...

    magento 邮件自动发送插件

    - **事件监听器**:Magento使用事件驱动架构,插件通过监听特定的业务事件(如订单创建、发货等)来触发邮件发送。 - **模板管理**:邮件内容通常使用Magento的模板引擎生成,可以自定义设计和内容,以符合品牌形象...

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

    在这个教程中,你还将学习到如何编写单元测试、配置依赖注入、创建事件订阅者等高级话题,这些都是提升Magento模块质量的关键。通过实践,你将能够构建出符合Magento最佳实践的、高效且可扩展的组件或插件。 ...

    Magento插件源代码

    3. **事件监听**:Magento使用事件驱动架构,Mage_Exactor_Tax可能会注册多个事件监听器来在适当的时间点插入其税务计算逻辑,如在购物车更新、订单创建时触发税额计算。 4. **资源模型**:插件可能创建了自己的...

    Magento1自定义登录重定向

    在这个场景中,我们讨论的是关于Magento 1的一个特定功能——"自定义登录重定向"。这个功能允许商家在用户完成特定操作(如登录、注销或创建新账户)后,将他们重定向到预设的自定义页面,而不是默认的Magento页面。...

    magento学习资料

    此外,你还将接触到事件观察者模式,这是Magento中实现功能扩展和行为定制的重要方式。 2. **深入理解Magento** 深入理解Magento可能涉及到的内容包括其架构设计、数据库结构、主题和模板系统、支付和物流集成、...

    magento facebook快捷登陆插件

    Facebook快捷登录插件是Magento商城系统中的一种常见扩展,旨在为用户提供更便捷的购物体验。通过这个插件,用户可以使用他们的Facebook账户直接登录到Magento商店,无需创建新的账号和记忆额外的密码,从而提高用户...

    Magento(麦进斗)中文开发手册开篇.docx

    - **代码组织**:Magento中的代码遵循模块化的结构,不同功能的代码被分组到不同的模块中,例如支付功能相关的代码位于`app/code/core/Mage/Checkout`目录下,而Google Checkout相关的代码则位于`app/code/core/...

Global site tag (gtag.js) - Google Analytics