Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

Ajouter un produit à une commande

Dans le backoffice de prestashop il est assez simple d’ajouter un produit à une commande déjà passée. Mais lorsqu’il s’agit de le faire en programmation c’est déjà plus compliqué.
Voici un bout de code qui vous permettra de le faire.


$product_id = 144; // l'id du produit à ajouter
$order=new Order($id_order);//on récupère la commande à modifier

$cart = new Cart(); // on créé un nouveau panier
$cart->id_shop_group = $order->id_shop_group;
$cart->id_shop = $order->id_shop;
$cart->id_customer = $order->id_customer;
$cart->id_carrier = $order->id_carrier;
$cart->id_address_delivery = $order->id_address_delivery;
$cart->id_address_invoice = $order->id_address_invoice;
$cart->id_currency = $order->id_currency;
$cart->id_lang = $order->id_lang;
$cart->secure_key = $order->secure_key;
$cart->add(); // on sauvegarde ce nouveau panier
$cart->updateQty(1, $product_id ); // on ajoute le produit au panier
$cart->update(); // on update le panier
		
$order_detail = new OrderDetail(); // on créé une nouvelle ligne dans la commande
$order_detail->createList($order, $cart, $order->getCurrentOrderState(), $cart->getProducts(), 0);//on recréé la liste de produit de la commande
$order->update();//on sauvegarde la commande

Poster un Commentaire

Soyez le premier à commenter !

Recevoir un email pour
avatar
wpDiscuz