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

Mes modules Prestashop

Modifier une commande prestashop

Dans certain cas la modification d’une commande prestashop est impossible. Cela arrive pour les commandes qui sont considérées comme ayant été livrées.
C’est à dire toutes les commandes dont l’état dans lequel elle se trouve à la mention “Afficher le PDF de bon de livraison” cochée.

Si vous voulez pouvoir modifier ces commandes voici ce qu’il faut remplacer dans le fichier “admin0\themes\default\template\controllers\orders\_product_line.tpl”.

Ligne 101


{if ((!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN')) AND (int)($product['product_quantity_return']) < (int)($product['product_quantity']))}

par


{if ((Configuration::get('PS_ORDER_RETURN')) AND (int)($product['product_quantity_return']) < (int)($product['product_quantity']))}

Ligne 110


{elseif (!$order->hasBeenDelivered() OR Configuration::get('PS_ORDER_RETURN'))}

Par


{elseif (Configuration::get('PS_ORDER_RETURN'))}

Ligne 134


{if ($can_edit &amp;amp;&amp;amp; !$order->hasBeenDelivered())}

Par


{if ($can_edit)}

**** EDIT ****
Pensez à lire les commentaire et notamment celui de Sune car selon les versions il y a quelques lignes de code à commentées également.

Poster un Commentaire

5 Commentaires sur "Modifier une commande prestashop"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Sune
Invité
Sune

Bonjour Olivier !

Merci pour cette astuce, elle permet bien d’afficher l’icône de modification de la ligne de produit, en revanche, il est impossible de valider la modification. Prestashop indique l’alerte: “Il est impossible de modifier une commande déjà expédiée”.

As tu rencontré ce problème ?

Si tu as une solution, je suis preneur ! En effet, nous avons besoin de cette modification dans le cas d’échanges produits, ou par exemple, réexpédition d’une commande.

Au plaisir de te lire et bonne fête de fin d’année !

Sune

Sune
Invité
Sune

Re Olivier, sur quelle version as tu testé ? sur 1.5.6.2 >> a première vue, dans AdminOrdersController.php il faut commenter les lignes:
2141>2146

// We can’t edit a delivered order
if ($order->hasBeenDelivered())
die(Tools::jsonEncode(array(
‘result’ => false,
‘error’ => Tools::displayError(‘You cannot edit a delivered order.’)
)));

2198>2204

// We can’t edit a delivered order
if ($order->hasBeenDelivered())
die(Tools::jsonEncode(array(
‘result’ => false,
‘error’ => Tools::displayError(‘You cannot edit a delivered order.’)
)));

1518>1522

if ($order->hasBeenShipped())
die(Tools::jsonEncode(array(
‘result’ => false,
‘error’ => Tools::displayError(‘You cannot add products to delivered orders. ‘)
)));

Visiblement, ce serait la clé !
Sune

Webbax
Invité

Hello,

J’arrive ici parce que j’avais exactement besoin de faire ça…

Cela fonctionne sous Prestashop 1.6, mais il faut faire le changement mentionnée par Sune.

Je vais profiter pour refaire un billet sur cet article, qui est très utile.

A +

wpDiscuz