如何解决Magento 2 checkout_onepage_controller_success_action事件未触发
我正在使用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。因此我无法理解我的事件是否被触发。
我在做什么错了?
解决方法
您必须正确遵循模块目录结构。 看到: https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/module-file-structure.html#module-file-structure
MagentoSite \ app \ code \ Magento \ MerchantTrack \ Checkout \ etc \ frontend \ events.xml
您已经创建了额外的文件夹,即 Magento
您的目录应如下所示。 MagentoSite \ app \ code \ MerchantTrack \ Checkout \ etc \ frontend \ events.xml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。