Я новичок в работе над sylius, и я хотел бы внести коррективы в позицию заказа, прежде чем она будет сохранена в базе данных. Поэтому я создаю базу слушателей на событие sylius.order_item.pre_create, как сказано в документации https://docs.sylius.com/en/1.5/book/architecture/events.html
Все комплекты Sylius используют SyliusResourceBundle, в котором есть некоторые встроенные события в этом формате, например:
sylius.resource.pre_create
Это мой слушатель Конфиг
services:
app.listener.order_item:
class: App\EventListener\OrderItemListener
tags:
- { name: kernel.event_listener, event: sylius.order_item.pre_create, method: onSyliusOrderItemPreCreate }
Она - мой класс слушателя
<?php
namespace App\EventListener;
use Symfony\Component\EventDispatcher\GenericEvent;
use Sylius\Component\Core\Model\ShopUserInterface;
use App\Entity\Order\OrderItem;
use App\Entity\Order\Order;
use App\Entity\Order\Adjustement;
use App\Repository\Channel\ChannelPricingRepository;
use Sylius\Component\Channel\Context\ChannelContextInterface;
use Sylius\Component\Order\Factory\AdjustmentFactoryInterface;
class OrderItemListener
{
public function onSyliusOrderItemPreCreate(GenericEvent $event)
{
var_dump(''); die;
$orderItem = $event->getSubject();
Assert::isInstanceOf($orderItem, OrderItem::class);
}
}
Но ничего не происходит, когда я добавляю новый продукт на карту. Что я скучаю? Может быть, я не очень хорошо понимаю концепцию, или я делаю вещи неправильно. Пожалуйста, помогите мне.