Magento 2在结帐页面phtml中发送到支付网关之前获取订单ID?
Posted
技术标签:
【中文标题】Magento 2在结帐页面phtml中发送到支付网关之前获取订单ID?【英文标题】:Magento 2 get order ID before sending to payment gateway in checkout page phtml? 【发布时间】:2020-11-06 10:40:29 【问题描述】:如何在发送订单之前获取当前订单 ID 我知道如何获取最后一个订单 ID,但我在提交订单之前获取当前订单 ID,我正在开发自己的模块
【问题讨论】:
【参考方案1】:您可以为此利用 Magento 2 事件。不确定 sales_order_place_before
sales_order_place_after
是否最适合您的需求,但代码如下所示:
在你模块的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="sales_order_place_after">
<observer name="observername" instance="Vendor\Module\Observer\YourClass" />
</event>
</config>
在YourClass.php中
<?php
namespace NBG\Mailtrigger\Observer;
class YourClass implements \Magento\Framework\Event\ObserverInterface
public function execute(\Magento\Framework\Event\Observer $observer)
$order = $observer->getEvent()->getOrder();
$orderIncrementId = $order->getIncrementId();
// your logic...
【讨论】:
以上是关于Magento 2在结帐页面phtml中发送到支付网关之前获取订单ID?的主要内容,如果未能解决你的问题,请参考以下文章
Magento 2 - 如何在另一个 phtml 文件、xml 布局、静态块和 cms 页面中调用自定义 phtml 文件?