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 事件速查表中的关键事件,帮助开发者更好地了解如何在 Magento 中使用这些事件。 #### 1. admin_user_authenticated **位置:** User.php(第 239 行) **用途:** 此事件在管理员...
Magento作为一个强大的电子商务平台,其事件驱动架构是其核心特性之一,允许开发者在特定的业务流程节点上执行自定义代码,...希望本文能帮助您更深入地掌握Magento事件驱动架构,助力您的电子商务项目取得更大成功。
要理解这一系统,你需要创建并查看一个简单的模块(Magento 中称为 module),这将帮助你直观感受配置文件的工作方式。 模块是 Magento 的基本构建单元,它们由 PHP 和 XML 文件构成,用于扩展或修改系统功能。例如...
2. **Magento插件开发**:在Magento中,插件(也称为扩展)用于增强或改变系统功能。学习如何创建、注册和配置插件,包括编写前置/后置操作、重写类和定义插件接口。 3. **模块开发**:掌握创建新模块的步骤,包括...
magento事件列表,英文版,做监听用的到
在Magento的开发过程中,掌握常用的方法和插件是提高工作效率的关键。这篇博客"Magento 常用方法和插件"可能涵盖了以下方面: 首先,关于Magento的核心概念,我们需要了解其模块化架构。Magento将功能分解为模块,...
本文将深入探讨Magento中的数据层操作与数据封装机制,特别是VarienDataCollections这一关键概念,并通过实际代码示例进行讲解。 #### 二、Magento中的数据封装 在Magento中,数据封装主要是通过`Varien_Object`类...
10. **事件处理**:使用Magento的事件观察者机制来响应系统中的特定事件。 11. **后端开发**:设计和实现插件的后端界面,包括配置、列表视图和编辑表单。 ### 高级主题 - **信任插件开发**:了解如何创建受信任的...
**SYSTEMLOGS**, **DATAFLOW**, **EAVENTITYTYPE**, **EAVATTRIBUTE**:这些表涉及标签管理、系统布局、API接口、目录管理、事件报告、系统日志、数据流控制、实体类型定义和属性定义,共同支持了Magento系统的全面...
3. 核心概念理解:详细介绍Magento中的核心概念,如实体属性(EAV)模型、事件/观察者模式、依赖注入等,这些都是开发Magento模块不可或缺的基础知识。 4. 模块开发:深入探讨如何创建和开发Magento模块,模块是...
此外,Magento的事件观察者机制也可能在产品预览中发挥作用。开发者可以通过监听特定的事件,比如`catalog_product_view`,并在对应的事件处理函数中实现预览功能。这可以在`app/code`目录下的`etc/config.xml`文件...
观察者模式是一种常用的 Magento 扩展技术,通过注册观察者来监听特定事件并在事件发生时执行自定义代码。 - **重写类和方法** 通过在模块的配置文件中指定类和方法的重写规则,可以覆盖 Magento 的默认行为。...
在Magento中,"限时抢购"(Flash Sales)是一种促销策略,它允许商家在特定时间内提供特别优惠,以吸引更多的顾客并增加销售额。"CountDown"在此上下文中通常指的是倒计时计时器,这种计时器会在限时抢购活动页面上...
- **事件监听器**:Magento使用事件驱动架构,插件通过监听特定的业务事件(如订单创建、发货等)来触发邮件发送。 - **模板管理**:邮件内容通常使用Magento的模板引擎生成,可以自定义设计和内容,以符合品牌形象...
在这个教程中,你还将学习到如何编写单元测试、配置依赖注入、创建事件订阅者等高级话题,这些都是提升Magento模块质量的关键。通过实践,你将能够构建出符合Magento最佳实践的、高效且可扩展的组件或插件。 ...
3. **事件监听**:Magento使用事件驱动架构,Mage_Exactor_Tax可能会注册多个事件监听器来在适当的时间点插入其税务计算逻辑,如在购物车更新、订单创建时触发税额计算。 4. **资源模型**:插件可能创建了自己的...
在这个场景中,我们讨论的是关于Magento 1的一个特定功能——"自定义登录重定向"。这个功能允许商家在用户完成特定操作(如登录、注销或创建新账户)后,将他们重定向到预设的自定义页面,而不是默认的Magento页面。...
此外,你还将接触到事件观察者模式,这是Magento中实现功能扩展和行为定制的重要方式。 2. **深入理解Magento** 深入理解Magento可能涉及到的内容包括其架构设计、数据库结构、主题和模板系统、支付和物流集成、...
Facebook快捷登录插件是Magento商城系统中的一种常见扩展,旨在为用户提供更便捷的购物体验。通过这个插件,用户可以使用他们的Facebook账户直接登录到Magento商店,无需创建新的账号和记忆额外的密码,从而提高用户...
- **代码组织**:Magento中的代码遵循模块化的结构,不同功能的代码被分组到不同的模块中,例如支付功能相关的代码位于`app/code/core/Mage/Checkout`目录下,而Google Checkout相关的代码则位于`app/code/core/...