THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,
Je veux modifier les statuts du model Order_status et je trouve que tous le travail existe dans le core Thelia.
j'ai créer un module et j'ai déclenché ça dans mon Action:

        return array(
            TheliaEvents::ORDER_UPDATE_STATUS => array("updateStatus", 256)
        );



     /**
     * @param OrderEvent $event
     */
    public function updateStatus(OrderEvent $event)
    {
            $event->stopPropagation();
        $order = $event->getOrder();
       
       
       $event = new eventOrder($order);
           
        $newStatus = $event->getStatus();

        $this->updateQuantity($order, $newStatus);

        $order->setStatusId($newStatus);
        $order->save();

        $event->setOrder($order);
    }
et je veux stopper l'event du thelia et déclencher mon event OrderEvent du mon module qui va utiliser Model/Order de mon module.

Offline


Il te faut faire ça dans un event listener.


OpenStudio Toulouse

Offline


Oui déjà je l'ai fait dans un EventListener, Mais comment je peux stopper  l'OrderEvent du Thelia et créer mon OrderEvent du module.
   /**
     * @param OrderEvent $event
     */
    public function updateeStatus(OrderEvent $event)
    {
        $event->stopPropagation();
      $order = $event->getOrder();
     
     $event1 = new EventOrder($order);
       
        $newStatus = $event1->getStatus();

        $this->updateQuantity($order, $newStatus);

        $order->setStatusId($newStatus);
        $order->save();

        $event->setOrder($order);
    }

le problème que le model Order, OrderQuery ect.. tous est dans le core thelia où je vais faire la modification.

Catchable Fatal Error: Argument 1 passed to OrderStatus\Event\OrderEvent::__construct() must be an instance of OrderStatus\Model\Order, instance of Thelia\Model\Order given,

Offline


Que veux tu faire exactement ?


OpenStudio Toulouse

Offline


tout simplement, je veux changer et gérer tous le traitement des statuts des commandes et tous le travail existe dans le core Thelia?

Offline


Ok, pourquoi tu veux faire ça ?


OpenStudio Toulouse

Offline


Tout simplement, je veux ajouter des statuts pour les commandes.

Offline


Inutile dans ce cas de court-circuiter tout le traitement de statuts de commande et de paralyser la circulation des changements de statut des commandes, ce qui pose beaucoup de problèmes.

Il te suffit d'ajouter tes statuts "customs" dans la table OrderStatus de Thelia, et si un traitement spécifique doit être réalisé, de faire ces traitements via un event listener.


OpenStudio Toulouse

Offline


Bon ma problème est résolu tongue et je sais pas pourquoi il y'a un forum thelia et vous n'aidez pas avec des vrais solutions juste vous marquez vos présence dans le forum c'est tout.

Offline


Bon courage pour régler toute seule les problèmes que tu as sans doute créé sans même t'en apercevoir... tongue


OpenStudio Toulouse