Magento事件机制 - Magento Event/Observer
class Mage_Customer_Model_Session extends Mage_Core_Model_Session_Abstract {// ...public function setCustomerAsLoggedIn($customer){$this->setCustomer($customer);Mage::dispatchEvent('customer_login', array('customer'=>$customer));return $this;} }
<config><frontend><events><customer_login><observers><log><class>log/visitor</class><method>bindCustomerLogin</method></log></observers></customer_login></events></frontend> <config>
可以看到在Log模块中是在前台相应"customer_login"事件的,捕捉到这个事件时将执行"log/visitor"类的"bindCustomerLogin"方法,我们打开/app/code/core/Mage/Log/Model/Visitor.php文件,将发现这样的代码:
class Mage_Log_Model_Visitor extends Mage_Core_Model_Abstract {// ...public function bindCustomerLogin($observer){if (!$this->getCustomerId() && $customer = $observer->getEvent()->getCustomer()) {$this->setDoCustomerLogin(true);$this->setCustomerId($customer->getId());}return $this;} }
在触发事件时我们使用 Mage::dispatchEvent('customer_login', array('customer'=>$customer)); 的第二个参数传递变量,在bindCustomerLogin($observer)函数中使用$observer参数获取该变量$customer = $observer->getEvent()->getCustomer(),之后进行相应的扩展。
转载于:https://www.cnblogs.com/zhengyanbin2016/p/6029127.html
Magento事件机制 - Magento Event/Observer相关推荐
- Magento事件与事件监听
事件和事件监听也许是magento中最有趣的功能之一,因为它允许开发者来扩展magento应用程序中的关键部分. 为了为不同模块之间提供更多的灵活性和便利,magento使用了一种事件/监听模式,这种 ...
- 笔试题——JavaScript事件循环机制(event loop、macrotask、microtask)
今天做了一道笔试题觉得很有意义分享给大家,题目如下: setTimeout(()=>{console.log('A'); },0); var obj={func:function () {set ...
- js 循环 等待异步执行完再执行_JS异步执行机制——事件循环(Event Loop)
JS异步执行机制--事件循环(Event Loop) 本文首发地址: 前端基础 | JS异步执行机制--事件循环(Event Loop)www.brandhuang.com 先祭出一段代码,你清楚它 ...
- Spring事件机制Event源码解析(未完待续)
Spring事件机制Event源码解析(未完待续) 监听器: ApplicationEvent事件 ApplicationListener监听器(观察者) ApplicationEventMultic ...
- js 异步执行_JS异步执行机制——事件循环(Event Loop)
JS异步执行机制--事件循环(Event Loop) 本文首发地址: 前端基础 | JS异步执行机制--事件循环(Event Loop)www.brandhuang.com 先祭出一段代码,你清楚它 ...
- python 线程安全的数据类型_详解python多线程、锁、event事件机制的简单使用
详解python多线程.锁.event事件机制的简单使用 发布时间:2020-09-25 02:04:12 来源:脚本之家 阅读:117 作者:君惜 线程和进程 1.线程共享创建它的进程的地址空间,进 ...
- event php,PHP event 事件机制
/* * PHP 事件机制 */ class baseClass{ private $_e; public function __set($name,$value){ if( strncasecmp( ...
- 我也来说说js的事件机制
原文链接:http://www.w3cfuns.com/notes/17398/8062de2558ef495ce6cb7679f940ae5c.html 学js,不懂事件机制,基本可以说学了js,就 ...
- Spring事件机制详解
一.前言 说来惭愧,对应Spring事件机制之前只知道实现 ApplicationListener 接口,就可以基于Spring自带的事件做一些事情(如ContextRefreshedEvent),但 ...
最新文章
- vs2017 open从v_宣布#Open2017,这是面向开发人员的除夕直播流
- java中如何将非整数保留到小数点后指定的位数
- 渲染终极者 finalRender R3.5 SE for 3ds max/design 2009/2010/2011 32位/64位 汉
- 科普帖:什么是服务网格?
- 软件测试工程师-数据库
- javaweb实训第一天下午——JavaScript
- java 锁的重入_Java 的可重入锁和不可重入锁
- 宠物王国6java变态版,宠物王国bt版修改器下载
- 【中等】迷你语法分析器
- Qt开发经验小技巧176-180
- 幼儿体能五项技能测试软件,幼儿体能训练项目及评分标准(3.5-6岁)[精制甲类]
- neko vm 数据包装翻译
- 万物互联----聊聊OPC服务器KepWare
- iOS 重写UIButton
- 【GIS小白学习笔记】Excel加至Arcgis坐标分带选择
- SurFS:共享式和分布式集群各取所长
- 空间的一组基matlab,有关线性代数的Matlab代码笔记(2)——行空间、零空间
- 全球bankcode解析-BIC IBAN SwiftCode BSB IFSC RoutingNumber SortCode
- VirtualBox 安装 Ubuntu虚拟机 显卡驱动
- 创建密码重置盘和重设密码
热门文章
- 斜挎包长度到哪里合适_斜挎包带子多长合适 看个人身高
- Spring Boot笔记-validation的使用及统一异常处理
- Qt工作笔记-使用QRegExp实现QString的split【读取文件时候,过滤各种字符】
- Qt文档阅读笔记-QQmlApplicationEngine解析与实例(qml与C++混合编程及QQuick与widgets混合)
- Linux工作笔记-两Linux系统互传文件(使用SSH)
- Qt工作笔记-右键删除视图中的Item【坐标映射】
- Qt工作笔记-QCustomplot绘制表,实现输入定位功能
- Qt creator5.7 OpenCV249之resize函数(含源码下载)
- loadrunner脚本录制为空的解决方法
- 二叉树经典题之将二叉树分层打印