- Posts: 511
- Thank you received: 37
Modification de commande
1 year 2 weeks ago - 1 year 2 weeks ago #368548
by Minie
Modification de commande was created by Minie
-- HikaShop version -- : 6.0.0
-- Joomla version -- : 5.3.1
-- PHP version -- : 8.3.16
Bonjour,
je bute depuis un moment sur un besoin de modification de commande avec recalcul, quel serait le meilleur moyen d'effectuer cette manip svp ?
quelque chose dans ce style ?
je n'ai pas trouvé de fonction pour ajouter ou modifier des produits aussi simplement qu'avec le cart comme $cartClass->addProduct($cart->cart_id, $products);
J'ai essayé de vider les produits et les remplacer mais le recalcul n'est pas fait, j'avais fait un "annule et remplace de commande" mais ca implique trop d'inconvénients, y compris le manque d'historique, j'avoue que je tourne en rond depuis un moment
Merci d'avance si vous avez une solution
-- Joomla version -- : 5.3.1
-- PHP version -- : 8.3.16
Bonjour,
je bute depuis un moment sur un besoin de modification de commande avec recalcul, quel serait le meilleur moyen d'effectuer cette manip svp ?
quelque chose dans ce style ?
Code:
$order = $orderClass->loadFullOrder($post['order_id'], true, false);
foreach ($order->products as $k => $order_product) {
$order->products[$k]->order_product_quantity = $new_quantity;
}
$orderClass->save($order);
je n'ai pas trouvé de fonction pour ajouter ou modifier des produits aussi simplement qu'avec le cart comme $cartClass->addProduct($cart->cart_id, $products);
J'ai essayé de vider les produits et les remplacer mais le recalcul n'est pas fait, j'avais fait un "annule et remplace de commande" mais ca implique trop d'inconvénients, y compris le manque d'historique, j'avoue que je tourne en rond depuis un moment
Merci d'avance si vous avez une solution
Last edit: 1 year 2 weeks ago by Minie.
Please Log in or Create an account to join the conversation.
1 year 2 weeks ago #368549
by nicolas
Replied by nicolas on topic Modification de commande
Bonjour,
Les commandes ne sont pas trop sensées être modifiées une fois créées, et encore moins une fois payées. Donc nous n'avons pas fait de fonction spécifique pour le changement de quantité / ajout / retrait d'un produit.
Je vous recommande de faire l'opération en deux étapes:
1. Mettez à jour la quantité du produit en base de données avec la fonction update the class.order_product en fournissant un objet avec les attributs order_product_id et order_product_quantity.
Si vous souhaitez que la fonction mettes également à jour le stock du produit cible, vous pouvez également ajouter un attribut "change" avec soit la valeur "plus" (pour restocker) soit la valeur "minus" (pour enlever du stock).
Quelque chose du genre:
2. Utilisez le code suivant pour recharger la commande en mémoire depuis la base de données, recalculer le total et sauvegarder le nouveau total dans la base de données:
Les commandes ne sont pas trop sensées être modifiées une fois créées, et encore moins une fois payées. Donc nous n'avons pas fait de fonction spécifique pour le changement de quantité / ajout / retrait d'un produit.
Je vous recommande de faire l'opération en deux étapes:
1. Mettez à jour la quantité du produit en base de données avec la fonction update the class.order_product en fournissant un objet avec les attributs order_product_id et order_product_quantity.
Si vous souhaitez que la fonction mettes également à jour le stock du produit cible, vous pouvez également ajouter un attribut "change" avec soit la valeur "plus" (pour restocker) soit la valeur "minus" (pour enlever du stock).
Quelque chose du genre:
Code:
$product = new stdClass();
$product->order_product_id = $order_product_id;
$product->order_product_quantity = $order_product_quantity;
$orderProductClass = hikashop_get('class.order_product');
$orderProductClass->update($product);
Code:
$orderClass = hikashop_get('class.order');
$order = $orderClass->get($order_id);
$orderClass->recalculateFullPrice($order);
$orderClass->save($order);
Please Log in or Create an account to join the conversation.
1 year 4 days ago #368782
by Minie
Replied by Minie on topic Modification de commande
Bonjour,
merci beaucoup, tout fonctionne très bien
merci beaucoup, tout fonctionne très bien
Please Log in or Create an account to join the conversation.
Time to create page: 0.166 seconds