THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,

Comment mettre à jour la quantité d'un produit lors de l'ajout du panier en utilisant l'énévement cartEvent ?

Merci,

Last edited by Mikius (04-11-2016 16:17:07)

Offline


Regarde la classe CartEvent, tu vas y trouver une méthode setQuantity()


OpenStudio Toulouse

Offline


La mise à jour du panier lors d'un ajout, il s'avère que ça fait un double incrémentation sur le 1er produit
Et ça bien indentation sur le projet sélectionné mais ça l'ajoute aussi sur le dernier item-cart.

Merci,

public function addItem(CartEvent $cartEvent) {

        $isNew = true;
        $comment = $this->request->get('comment');
        $productComments = ProductCommentQuery::create()->find();
        $cartItems = CartItemQuery::create()->find();
        
        foreach ($productComments as $productComment) {
            if ($comment == $productComment->getComment()){
                $isNew = false;
                foreach ($cartItems as $cartItem) {
                    if($productComment->getCartItemId() == $cartItem->getId()){
                        $items = CartItemQuery::create()->findById($productComment->getCartItemId());
                        foreach ($items as $item) {
                            $item->setQuantity($item->getQuantity() + $cartEvent->getQuantity());
                            $item->save();
                        }
                    }
                }
                break;
            } 
        }

        if($isNew){
            $cartEvent->setAppend(false);
            $cartEvent->setNewness(true);
        }
    }

Voici mon code

Last edited by Mikius (04-11-2016 15:01:36)