【问题标题】:How to perform custom javascript on place order but before redirection to payment gateway in Magento 1.9?如何在下订单时执行自定义 javascript,但在 Magento 1.9 中重定向到支付网关之前?
【发布时间】:2022-01-08 12:56:36
【问题描述】:

我需要将我的 Magento 与一些订单跟踪服务集成。 服务提供商要求我在结帐流程的最后一页中包含一些代码,但在客户被重定向到支付网关之前。我使用一页结帐。 简化版的代码是这样的

<script type="text/javascript">
var webOrder = {
"id": shop_id,
"sum": order_value
};
</script>
<script type="text/javascript" src="//serivce_address/before.js"></script>

在客户接受协议并单击下订单并接受订单之前,我不希望执行此代码。我该怎么做?

【问题讨论】:

    标签: magento magento-1.9 checkout


    【解决方案1】:

    您可以在下单后使用 Magento 的事件/观察者方法来做一些事情。你可以使用这个事件

    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...
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-21
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 2011-09-08
      • 2016-05-01
      • 2020-11-20
      相关资源
      最近更新 更多