Hello!
Dans l'un de mes modules je permets la génération d'une référence commande selon une fonction choisie.
Le hic, c'est que ça ne marche pas (ou Thelia repasse derrière).
TheliaEvents::ORDER_BEFORE_PAYMENT => ['generateRef', 128],
public function generateRef(OrderEvent $event)
{
$order = $event->getOrder();
if(null != $order){
$ref = OrderProcess::generateRef($order);
$order->setRef($ref)
->save();
}
}
Le code est OK (depuis l'admin du module, je peux forcer de renommer de toutes les références commandes en exécutant ce code).
Pourtant l'event est bien déclenché APRES la création de la commande... (mais peut être qu'il est déclenché AVANT le POST_INSERT de la commande - qui génère la ref) ?
$placedOrder = $this->createOrder(
$dispatcher,
$event->getOrder(),
$session->getCurrency(),
$session->getLang(),
$session->getSessionCart($dispatcher),
$this->securityContext->getCustomerUser()
);
$dispatcher->dispatch(new OrderEvent($placedOrder), TheliaEvents::ORDER_BEFORE_PAYMENT);
Last edited by Elyos (12-04-2024 12:49:53)