THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'ai besoin de faire passer le status d'une commande de 2 à 3 depuis un fichier PHP sur mon serveur.(fichier qui est accessible depuis l'extérieur)

J'aimerai le faire proprement, sans faire une banale modification de la base de données.

Quel est le meilleur moyen ? Il faut créer un event ? si oui, lequel et comment ? (mon fichier est dans web/fichier.php)

Merci d'avance,

Offline


Tu peux faire ça très simplement en dispatchant un event ORDER_UPDATE_STATUS :

        
$order = OrderQuery::create()->findPk($orderId);
$event = (new OrderEvent($order))->setStatus(OrderStatusQuery::getSentStatus()->getId())
$this->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event);

Mais depuis un fichier PHP qui se trouve dans web, ça va être compliqué, tu ne pourra pas accéder au dispatcher simplement.

Un module tout simple avec une route et un contrôleur ferait très bien le job.


OpenStudio Toulouse