【发布时间】:2020-12-29 18:37:59
【问题描述】:
我正在使用 Magento 2 平台。 我创建了我的自定义模式名称 MerchantTrack。 进入 events.xml (MagentoSite\app\code\Magento\MerchantTrack\Checkout\etc\frontend\events.xml) 编写代码 下面
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_onepage_controller_success_action ">
<observer name="merchanttrack_checkout_onepage_controller_success_action" instance="Magento\MerchantTrack\Checkout\Observer\MyObserver" />
</event>
</config>
进入MyObserver.php(MagentoSite\app\code\Magento\MerchantTrack\Checkout\Observer\MyObserver.php) 写代码如下
<?php
namespace Magento\MerchantTrack\Checkout\Observer;
use Magento\Framework\Event\ObserverInterface;
class MyObserver implements ObserverInterface {
public function execute(\Magento\Framework\Event\Observer $observer)
{
$orderIds = $observer->getEvent()->getOrderIds();
echo $orderId = $orderIds[0]; exit;
}
}
下订单后,进入成功(/MagentoSite/checkout/onepage/success/)页面,我看不到我在观察者页面中回显的 orderid。所以我无法理解我的事件是否被触发。
我做错了什么?
【问题讨论】:
-
在观察者文件中添加记录器,这样您就可以跟踪您的事件是否有效
标签: php events observers magento-2.0