繁体   English   中英

Shopware6下单时触发function

[英]Trigger function when an order is made in Shopware6

shopware6中创建新订单后尝试触发 function 时,我有一点误解,但没有任何反应。

我的语法可能是Shopware5 ,因为我对 SW6 真的很陌生。

这是我的代码(仅用于测试):

<?php

namespace Emakers\TransmissionPlugin\Subscriber;

use Enlight_Hook_HookArgs;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents;

class OrderSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        // return the subscribed events, their methods and priorities
        return [
            KernelEvents::EXCEPTION => [
                ['OrderEvents::ORDER_WRITTEN_EVENT::RESPONSE' => 'onOrderCheckout'],
            ],
        ];
    }

    public function onOrderCheckout(Enlight_Hook_HookArgs $args): void
    {
        die('TEST OK');
    }
}

有没有什么地方可以找到与订单相关的所有事件? 也许我使用的是不正确的。

谢谢

public function __construct(EntityRepositoryInterface $orderRepository)
{
    $this->orderRepository = $orderRepository;
}

public static function getSubscribedEvents(): array
{
    return [
        //CartEvents::CHECKOUT_ORDER_PLACED => 'onCheckoutOrderPlaced'
        OrderEvents::ORDER_WRITTEN_EVENT => 'onOrderCheckout'
    ];
}

Shopware 和 PHP 对我来说是全新的,但上面的代码可以让我触发一个事件嘿,你能提供代码来获取订单详细信息吗?

问题来自 services.xml 文件,您必须将其添加到您的订阅者服务中:

<tag name="kernel.event_listener" />            
<tag name="kernel.event_subscriber" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM