Les commandes Magento : états et statuts

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 Pending
pending_payment Pending Payment pending_paypal
pending_amazon_asp
Pending PayPal
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

<config>
  ...
  <global>
    <sales>
      <order>
        <!-- Statuses declaration -->
        <statuses>
          <my_processing_status translate="label"><label>My Processing Status</label></my_status>
        </statuses>
        <!-- Linking Status to a state -->
        <states>
          <processing>
            <statuses>
              <my_processing_status/>
            </statuses>
          </processing>
        </states>
      </order>
    </sales>  
  </global>
</config>

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 celà, 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.

Edit du 03/12/09 : Un post intéressant concernant le workflow des statuts de commandes a été publié sur Le blog des équipes... : Workflow des statuts de commande sur Magento.

5 comments on "Les commandes Magento : états et statuts"

Portrait de bobo
bobo (visiteur) - mer, 27/04/2011 - 08:41:

The fading effects of chlorine bleaching rough batterie and more for indigo blue denim rinse.

Portrait de comparatif assurance-vie
comparatif assurance-vie (visiteur) - jeu, 01/09/2011 - 11:09:

pas mal ces commandes!

Portrait de dede
dede (visiteur) - mer, 02/11/2011 - 06:12:

This rankled labatterie the way they've designed the trunk...

Portrait de Hipolito Wiseman
Hipolito Wiseman (visiteur) - ven, 10/02/2012 - 15:35:

Between me and my husband we've owned more MP3 players over the years than I can count, including Sansas, iRivers, iPods (classic & touch), the Ibiza Rhapsody, etc. But, the last few years I've settled down to one line of players. Why? Because I was happy to discover how well-designed and fun to use the underappreciated (and widely mocked) Zunes are. Limo Hire Brisbane

Portrait de Burton Haynes
Burton Haynes (visiteur) - mer, 15/02/2012 - 16:19:

In order to be healthy you just get up early in the morning and do some exercises and take deep breath and you will see that you are feeling healthy are some days. And you will never give up these things in future. park city realestate

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plus d'informations sur les options de formatage