从 Magento 中的事件观察器将数据返回给调度程序

2023-11-25

我有一个产品注册扩展,可以在保存注册后调度一个事件。另一个扩展使用该事件为虚拟产品生成优惠券(如果它与注册产品相关)。

我需要取回生成的优惠券的数据,并通过电子邮件发送给用户及其产品注册的详细信息。

有没有办法将数据从观察者返回到事件调度的地方?


Magento 中有一个技巧可以满足您的目的。由于您可以将事件数据(例如产品或类别模型)传递给观察者,因此还可以创建一个从中获取此数据的容器。

例如,可以在调度程序中执行此类操作:

$couponContainer = new Varien_Object();
Mage::dispatchEvent('event_name', array('coupon_container' => $couponContainer));
if ($couponContainer->getCode()) { 
    // If some data was set by observer...
}

观察者方法可以如下所示:

public function observerName(Varien_Event_Observer $observer) 
{
    $couponContainer = $observer->getEvent()->getCouponContainer();
    $couponContainer->setCode('some_coupon_code');
}

享受并享受乐趣!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Magento 中的事件观察器将数据返回给调度程序 的相关文章

  • 如何正确转义 CSV 中的双引号?

    我的 CSV 中有这样一行 Samsung U600 24 10000003409 1 10000003427 旁边引用24用于表示英寸 而该引号旁边的引号则关闭该字段 我正在读这行fgetcsv但解析器犯了一个错误 并将该值读取为 Sam
  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • PHP 有效读取 csv 文件

    有几种使用 PHP 读取 CSV 文件的方法 我以前用过explode函数将每一行放入一个数组中 然后explode逗号并使用trim删除数据周围的任何引号 本来就很乱 PHP 5 现在有fgetcsv和 str getcsv 我猜这是这些
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • mongodb对话系统

    我正在实施一个verymongodb 上的简单对话系统 这个想法应该是 当我打开一个 convo 时 它应该显示发送和接收的消息 到目前为止一切正常 并且应该非常容易 通过使用像这样的伪代码这样的简单查询 from my id AND to
  • php 在内容前插入十六进制字符数

    我正在将网站移动到新服务器 旧服务器有 php 5 3 2 新服务器有 php 5 5 9 Centos httpd Apache 2 2 26 我已经复制了文件 它工作正常 除了唯一奇怪的事情 一些奇怪的十六进制数字被插入到页面内容之前
  • 为什么我应该使用 $_GET 和 $_POST 而不是 $_REQUEST? [复制]

    这个问题在这里已经有答案了 除此之外 REQUEST从 cookie 读取 有什么理由我应该使用 GET and POST代替 REQUEST 这样做的理论和实践理由是什么 当我只想让用户的某些数据返回某些数据时 我使用 REQUEST 当
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • 使用 php 将 HLS Segment (ts) 视频转换并加入到 mp4

    你好我正在使用这个工具 https github com Ejz HLSDownloader https github com Ejz HLSDownloader将 HLS 视频片段从 m3u8 播放列表下载到 ts 文件中 不 我不知道如
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样

随机推荐

  • Doxygen 并将属性值添加到输出文档

    服务栈使用 C 属性标记 Web 服务的剩余路径 例如 RestService hello1 RestService hello2 public class Hello 我想让 Doxygen 在 Hello 类的 doxygen 输出中包
  • 在 Angular2 中通过指令更改组件属性

    我有一个 Angular 1 应用程序 可以使用一个简单的contentEditable指令 可以在模板中像这样使用 span 编辑元素会触发 setViewValue element html 它按预期工作 我想用类似简洁的模板语法在 A
  • Swift:将任何对象转换为 Int64 = nil

    我有个问题 我想知道为什么会发生这种情况 var dict String Any intValue 1234 stringValue some text dict intValue as Int64 nil why dict intValu
  • 本机 iOS 应用程序中的连字符

    如何在 iOS 中激活自动连字符 我尝试在 UILabel 的属性文本选项中将连字符因子设置为 1 但是我没有得到任何连字符 iOS 7 方式 使用UITextView而不是UILabel The hyphenationFactor 或者作
  • 为什么摘要函数每次与 dplyr mutate 一起使用时都会返回相同的值?

    这是一个包含一列用户 ID 的数据框 gt head df uid 1 14070210 2 14080815 3 14091420 为了便于论证 我想创建一个包含用户 ID 平方根的新列 以及另一个包含用户 ID 哈希值的新列 所以我这样
  • 网页和条形码字体

    我正在开发一个小型应用程序 可以在其中生成条形码列表 我的计算机上安装了正确的字体 现在我将它们直接打印到网页上 它在 Chrome 和 IE 7 中正常工作 但在 Firefox 中不行 有谁知道 Firefox 与 IE 和 Chrom
  • 将字符串解析为带单引号的 JSON?

    我有一根绳子 str a 1 JSON parse str VM514 1 Uncaught SyntaxError Unexpected token 如何将上面的字符串 str 解析为 JSON 对象 这看起来像是一个简单的解析 但它不起
  • Python 生成器可以轻松地从磁盘保存和重新加载吗?

    有没有一种方法可以序列化生成器 当前状态和所有内容 局部变量等 以便您可以稍后加载包含序列化生成器的字符串 并能够从最后一个yield语句退出函数的位置直接获取 如果是 并且您知道带有代码示例的网页 请分享该网页的链接 你应该检查一下gen
  • 如何最小化控制台窗口?

    我正在运行一个 C 控制台应用程序 在一段时间内 我想最小化运行应用程序的窗口 例如 我从 cmd 启动 myApp exe 然后它在新窗口中启动 那么有哪些库可以最小化应用程序运行的窗口 应用程序没有任何 GUI 我想您的应用程序正在 W
  • Kubernetes 中 POD 的计划扩展

    我有一个规模化部署 可预测的负载变化取决于时间 如何让我的部署做好负载准备 例如 我想每天晚上从 16 00 到 23 00 将 Pod 数量加倍 Kubernetes 提供这样的工具吗 我知道 Kubernetes Pod 正在扩展水平
  • 不允许多重。实体框架

    我第一次尝试使用 MVC4 并在尝试创建控制器时收到以下错误 有人可以引导我走向正确的方向吗 微软视觉工作室 System Data Entity Edm EdmAssociationEnd 多重性无效 在关系中的角色 PropertyDa
  • PHP:如何计算人的年龄(月+天)?

    我想使用出生日期计算人的年龄 以月加天为单位 例如 1986 08 23 例如 0 months and 25 days old 5 months and 20 days old 150 months and 4 days old 285
  • 获取 Perl 哈希中数组的长度

    我有以下内容 data host gt i gt someotherstuff 如何获取 i 所在数组的长度 length scalar data host
  • 无效的 Swift 支持 - 文件不匹配

    我刚刚用 Swift 2 重新编写了一个应用程序 我正在尝试将应用程序上传到 iTunesConnect 通过 Xcode 7 GM 进行内部测试 我与 无效的 Swift 支持 错误搏斗了一段时间 还有其他相关问题 但现在它变成了一些不同
  • 用于抑制输出的分号在 IPython 中不起作用

    在文档中IPython 提示与技巧 它表示在命令末尾添加分号 以抑制其输出 这在我的情况下似乎不起作用 甚至 print Hello outputs Hello 我对输出抑制的想法是错误的还是这是一个错误 这在工作时尤其烦人PuDB 因为在
  • 获取上周五的日期

    我可以得到今天的日期 Sys Date 但是我如何获得上周五的日期呢 I tried library xts date1 lt Sys Date to weekly date1 但这会产生错误 我认为这应该有效 library lubrid
  • sessionfactory.openSession() 和 sessionfactory.openStatelessSession() 之间的区别?

    我想知道 hibernates sessionfactory 类的上述两种方法之间的概念差异 如果可以用简单的示例来实现 前者打开一个正常 有状态 会话 而后者 可能并不奇怪 打开一个无状态会话 根据Javadoc 无状态会话是 用于对数据
  • 如何在 Android 上禁用方向更改?

    我有一个应用程序 我只想在纵向模式下使用 所以我定义了 清单 XML 中的 android screenOrientation portrait 这适用于HTC 魔法手机 并防止其他手机上的方向变化 但我有一个问题HTC G1当我打开硬件时
  • 如何将 gridview 数据绑定到 ExpandoObject

    当我尝试对 ASP NET 进行数据绑定时GridView to an IEnumerable
  • 从 Magento 中的事件观察器将数据返回给调度程序

    我有一个产品注册扩展 可以在保存注册后调度一个事件 另一个扩展使用该事件为虚拟产品生成优惠券 如果它与注册产品相关 我需要取回生成的优惠券的数据 并通过电子邮件发送给用户及其产品注册的详细信息 有没有办法将数据从观察者返回到事件调度的地方