Функция триггера при оформлении заказа в Shopware6 - PullRequest
0 голосов
/ 29 мая 2020

У меня возникло небольшое недоразумение при попытке запустить функцию после создания нового заказа в shopware6 , но ничего не происходит.

Мой синтаксис, возможно, такой Shopware5 , потому что я действительно новичок в SW6.

Вот мой код (только для тестирования):

<?php 

namespace Emakers\TransmissionPlugin\Subscriber; 

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


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) 
    { 
        die('TEST OK');
    }

}

Где я могу найти все события, связанные с заказами ? Возможно, тот, который я использую, неверен.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июня 2020

Проблема исходила из служб. xml файл, вы должны добавить это в свою службу подписки:

<tag name="kernel.event_listener" />            
<tag name="kernel.event_subscriber" />
0 голосов
/ 05 июня 2020
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 для меня совершенно новые, но приведенный выше код работает на меня, чтобы запустить событие. Эй, вы можете дать коды для получения деталей заказа?

...