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-cheat-sheet.pdf Magento内部事件速查表,Magento模块开发、扩展的必备手册!
magento事件清单
magento事件列表,英文版,做监听用的到
什么是magento2-module-gift-sales-rule规则Magento 2 Module? 此模块为Magento购物车价格规则功能提供了2个新操作: 根据当地条件向客户提供礼品产品 每次达到阈值时向客户提供礼品产品(例如,购物车中每30 $)...
4.9 Magento中的CRUD操作 36 4.10模型集合 37 4.11总结 38 5.Magento资源配置(Setup Resource) 38 5.1配置资源,修改Helloworld模型的config.xml: 38 5.2创建资源类文件: 39 5.3创建安装脚本 39 5.4资源版本 40...
此模块为Magento 2事件提供webhooks。 受( 的启发,该博客文章提到了在Magento 2核心中获取Webhooks的大致时间表: 待办事项尚待更好地支持webhooks,但Magento 2 GA目前无法保证。 我们希望社区可以通过此模块...
简单而优雅的库,用于从代码中收集和绘制模型事件 用法 开始时使用事件名称创建模型 $event = Mage::getModel('eventmon/event')->processStart($event_name) 关于更新状态 $event->updateStatus($event_name) ...
由于此模块是使用magento 2最佳实践构建的,因此可以使用mixins通过无限滚动事件轻松地进行javascript自身的自定义。 完全可定制为任何主题,只需更改列表的css分类。 最好的部分此Magento 2无限滚动模块是免费的...
##注意:此工具目前正在开发中 Magento Finder 扩展了 Symfony Finder 组件并查找特殊的 Magento 文件和目录,这些文件和目录可以是: 模块; 模型、控制器、助手等。 更进一步,它会在模块或应用程序级别找到...
magento-redis-fullpage 为什么要使用此模块? 我们知道magento已经具有全页缓存功能,并且还有许多其他基于redis和其他内存缓存的全页模块,但是为什么我仍要开发此模块?...块只能通过某些事件进行更新 您可
Magento Slack允许您将通知事件发送到Slack频道。 事实 版本:0.4.0 扩展密钥:magento-slack 描述 要将通知发送到备用频道,您需要创建一个 。建议使用消息队列。 是消息队列的前提。 可用通知 管理员用户登录...
适用于Magento 2的Facebook Pixel 这个免费的Facebook Pixel扩展程序允许您通过将事件发送到Facebook Ads Manager和Facebook Analytics仪表板来跟踪访问者的行为,这些事件可用于分析转化渠道的有效性并计算广告投资...
Magento2 Markdown模板引擎 Magento2的Markdown模板引擎。 该模板引擎旨在与.phtml文件一起使用,并且不提供任何.md模板文件。 一个用例是用Markdown替换一些简单的.phtml文件,或者将Markdown模板文件用作某种CMS...
Pace将自动监视您的Ajax请求,事件循环滞后,文档就绪状态以及页面上的元素,以决定进度。 在ajax导航上,它将再次开始! 基于 演示 主题可在后端部分“系统”->“配置”->“高级”->“系统”->“ Pace”中配置...
使用本机索引器,我们能够使用Magento2 ORM和事件来优化索引过程。 如果遇到有关索引性能的任何问题,请不要使用此模块,而不要使用mage2vuestorefront。 目前都支持这两个项目。 Vue店面是您的电子商务的独立PWA...
该工具栏的结构非常简单,您只需要在布局中添加一个新块即可使选项卡运行。 特征 面板 信息:有关控制器,路线,动作和存储的主要信息。 搜索核心配置数据。 本地和全局phpinfo的专用选项卡输出。 设计:列出调用...
此扩展程序向您的 Magento 客户网格添加了一个“订单计数”列。 该列将使用事件/观察者模式添加,请参阅 ,这是一个高度兼容的解决方案 它支持此列的 csv 导出感谢。
Magento缩小HTML Magento模块 最小化MagentoHTML,以帮助提高Google Page Speed排名。 概要 这个Magento模块将... 手动解压缩模块,然后将文件复制到magento安装的/ app文件夹中。 刷新您的缓存,退出admin并再次
在magento中,如果您需要为特定类别设置页面大小,则可能需要执行很多步骤。 此扩展使这项工作更加简单。 很简单。 它使用事件观察器来使其工作。 技术支持 我在magento 1.8版中测试了此功能。 但很可能它将与其他...
Magento 2模块可在您在系统配置中保存任何内容时自动刷新缓存。 不要在生产中使用它。 概述 在Magento 2中保存系统配置时,核心行为是在后端添加提醒,您应手动刷新缓存。 在生产中,这是一个好习惯:与每次更改都...