Quelles sont les définitions des statuts de commande? OU: Où dois-je intégrer mon état de commande?

25

Je veux définir certains états de commande comme "paiement par carte de crédit reçu", la question est de savoir à quels statuts ils appartiennent. Existe-t-il une définition pour chacun des statuts intégrés?

Edit: On dirait que j'ai mélangé "statut" et "état", j'espère que cela ressort clairement du contexte de toute façon. Je blâme la traduction allemande de Magento (State => Status, Status => Zustand)

Fabian Schmengler
la source

Réponses:

42

Selon "The Definitive Guide to Magento" [1] , les statuts des commandes sont définis comme suit:

  • En attente: les commandes en attente sont de toutes nouvelles commandes qui n'ont pas été traitées. En règle générale, ces commandes doivent être facturées et expédiées.
  • PayPal en attente: les commandes PayPal en attente sont de toutes nouvelles commandes qui n'ont pas été effacées par PayPal. [...]
  • Traitement: Le traitement signifie que les commandes ont été facturées ou expédiées, mais pas les deux.
  • Terminé: les commandes marquées comme terminées ont été facturées et expédiées.
  • Annulé: les commandes annulées doivent être utilisées si les commandes sont annulées ou si les commandes n'ont pas été payées.
  • Fermé: commandes fermées sont des commandes auxquelles une note de crédit a été affectée et le client a été remboursé pour sa commande.
  • En attente: les commandes mises en attente doivent être retirées avant de poursuivre toute autre action.

Par conséquent, un état "paiement par carte de crédit reçu" appartiendrait processing, à condition que la commande n'ait pas encore été expédiée.


Aligent Consulting [2] a créé un organigramme pour les états de commande:

flux d'état de la commande magento


Sources:

  1. Adam McCombs et Robert Banh: "Le guide définitif de Magento", Apress, 2009 (ISBN 1430272287, 9781430272281)
  2. https://twitter.com/aligent/status/509487359172177921/photo/1
Fabian Schmengler
la source
Je suis tout à fait d'accord pour répondre à vos questions, mais cela semble être un ensemencement de mauvaise qualité. Une réponse copier-coller qui pourrait autrement être facilement trouvée en ligne n'ajoute pas vraiment beaucoup de valeur à ce site.
Ben Lessani - Sonassi
4
@sonassi: Je respecte votre opinion et je ne dirais pas que la question est de qualité supérieure, mais j'ai cherché pendant un certain temps et je n'ai pas trouvé de questions connexes ici ou sur SO, donc cela pourrait aider quelqu'un d'autre à l'avenir.
Fabian Schmengler
J'ai trouvé cela super utile. Parfois, vous trouvez les choses plus facilement sur la pile que sur Google, car la pile est pré-filtrée, par rapport à Google, pour ainsi dire. et s'il ensemence, qu'il en soit ainsi. Ils ont apporté de la valeur. Je suis totalement d'accord avec l'ensemencement.
ahnbizcad
2

Les différents états d'ordre sont définis dans Mage_Sales_Model_Order:

const STATE_NEW             = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING      = 'processing';
const STATE_COMPLETE        = 'complete';
const STATE_CLOSED          = 'closed';
const STATE_CANCELED        = 'canceled';
const STATE_HOLDED          = 'holded';
const STATE_PAYMENT_REVIEW  = 'payment_review';
Stefan
la source
+1 Est-ce remplaçable? Existe-t-il un moyen d'obtenir cela à partir de l'API de repos? par exemple / config / sales / possibleStatusList?
Mzn
1
Écraser les constantes? Pourquoi voulez-vous les écraser? Vous pouvez définir de nouveaux statuts de commande dans le backend (Système> Statuts de commande). Si vous voulez dire «modifier les statuts de commande», oui, c'est possible. Et oui, vous pouvez également obtenir le statut de la commande à partir de l'API (méthode sales_order.info ou méthode sales_order.list)
Stefan
oui je voulais dire changer la liste pas les constantes. savez-vous comment accéder à sales_order.info dans l'api de repos? quel est le point final? j'ai essayé / salesorders / info relative url
Mzn
Cela ne devrait pas être difficile, voir ici pour l'accès en général: magento.stackexchange.com/a/33187/6291 et des informations sur sales_order.info ici: devdocs.magento.com/guides/m1x/api/soap/sales/salesOrder/ … Bonne chance!
Stefan
Merci pour la réponse, mais l'API SOAP est vraiment différente de l'API REST. Pour une raison quelconque, je ne trouve pas que vous en parliez dans les documents api REST: devdocs.magento.com/swagger/index.html Le voyez -vous ici? Peut-être qu'il n'est pas inclus dans l'API REST?
Mzn
1

En fait, puisque les statuts de commande 1.5 peuvent être définis dans la section Admin et xml n'est pas le moyen préféré d'ajouter / de modifier des états ou des statuts. Veuillez faire une différence entre l'état et le statut. L'état est en cours de traitement est le paiement par carte de crédit reçu

Mise à jour : les statuts de commande peuvent être créés et modifiés dans admin / sales_order_status /, pas besoin de faire quoi que ce soit en XML Vous ne pouvez attribuer un statut que si la commande est dans l'état approprié. Par défaut, la commande passe à l'état Traitement lorsqu'elle est facturée ou expédiée.

Petar Dzhambazov
la source
Était-ce un commentaire sur la réponse de Sebastian Lind? Quant aux états et aux statuts, il semble que je les ai mélangés (encore ...), merci pour la correction.
Fabian Schmengler
-1

Vous pouvez connecter votre nouvel état aux statuts de commande existants, ou vous pouvez créer complètement nouveau. Modifiez simplement le fichier de configuration du module de vente comme suit (app \ code \ core \ Mage \ Sales \ etc \ config.xml) avec votre nouvel état:

<?xml version="1.0"?>
<config>
  <!-- ... -->
  <global>
    <sales>
      <order>
        <statuses>
          <new_status>
            <label>New Status</label>
            <description>Your Description here</description>
          </new_status>
        </statuses>
        <states>
          <new>
            <label>New</label>
            <statuses>
              <new_status/>
            </statuses>
            <visible_on_front/>
          </new>
        </states>
      </order>
    </sales>
  </global>
</config>

Actualisez le cache, c'est fait.

Sebastian Lind
la source
2
Rien dans cette réponse n'est approprié, je le crains.
benmarks
1
Ne modifiez pas le noyau Magento. Créez plutôt une configuration dans votre propre module. Magento fusionnera le vôtre et les fichiers de configuration du noyau.
Jacques