Etats et statuts de commande

Les commandes sous Magento possèdent différents états afin de suivre leur processus (facturée, expédiée, remboursée…) au sein du Workflow de commandes. Ces états sont invisibles dans le back office de Magento. En effet ce que l’on peut voir sont les statuts des commandes et non pas leurs états.

Chaque état peut avoir un ou plusieurs statuts alors qu’un statut ne peut avoir qu’un seul état. Par défaut, le statut porte généralement le même nom que l’état, ce qui peut porter à confusion. Voici la liste des états et statuts disponibles par défaut.

Code état Nom état Code statut Nom statut
new New
pending_payment Pending Payment pending_paypal Pending PayPal
pending_payment Pending Payment pending_amazon_asp Pending Amazon Simple Pay
processing Processing processing Processing
complete Complete complete Complete
closed Closed closed Closed
canceled Canceled canceled Canceled
holded On Hold holded On Hold

Pour ajouter un nouveau statut à un état, il suffit de le déclarer dans un fichier config.xml


...

<!-- Statuses declaration -->

<label>My Processing Status</label>

<!-- Linking Status to a state -->

Lorsque l’on modifie le statut d’une commande dans le code, on doit être sûr que l’état actuel accepte ce statut. Pour cela, on peut modifier en même temps l’état et le statut avec la méthode setState

$order = Mage::getModel('sales/order')->loadByIncrementId('100000001');
$state = 'processing';
$status = 'my_processing_status';
$comment = 'Changing state to Processing and status to My Processing Status';
$isCustomerNotified = false;
$order->setState($state, $status, $comment, $isCustomerNotified);
$order->save();

$statut peut aussi prendre la valeur false, afin de modifier uniquement l’état de la commande, ou true afin de modifier le statut en prenant le premier statut associé à l’état.

Vous pouvez donc désormais ajuster votre processus de gestion des commandes dans Magento.

Publié dans Magento | Commenter (1)

Un Commentaire

  1. parisview19 dit :

    Merci pour cette information intéressante

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>