Quali sono le definizioni degli stati dell'ordine? OPPURE: dove devo integrare il mio stato dell'ordine?


25

Voglio definire alcuni stati dell'ordine come "pagamento con carta di credito ricevuto", la domanda è a quali stati appartengono. Esiste una definizione per ciascuno degli stati integrati?

Modifica: sembra che abbia confuso "status" e "state", spero che sia comunque chiaro dal contesto. Incolpo la traduzione tedesca del Magento (Stato => Stato, Stato => Zustand)

Risposte:


42

Secondo "The Definitive Guide to Magento" [1] , gli stati degli ordini sono definiti come segue:

  • In sospeso: gli ordini in sospeso sono ordini nuovissimi che non sono stati elaborati. In genere, questi ordini devono essere fatturati e spediti.
  • PayPal in sospeso: gli ordini PayPal in sospeso sono ordini nuovi che non sono stati cancellati da PayPal. [...]
  • Elaborazione: l' elaborazione indica che gli ordini sono stati fatturati o spediti, ma non entrambi.
  • Completo: gli ordini contrassegnati come completi sono stati fatturati e spediti.
  • Annullato: gli ordini annullati devono essere utilizzati se gli ordini vengono annullati o se gli ordini non sono stati pagati.
  • Chiuso: gli ordini chiusi sono ordini a cui è stata assegnata una nota di credito e il cliente è stato rimborsato per il proprio ordine.
  • In attesa: gli ordini messi in attesa devono essere rimossi prima di continuare qualsiasi ulteriore azione.

Pertanto, uno stato "pagamento con carta di credito ricevuto" dovrebbe appartenere processing, a condizione che l'ordine non sia stato ancora spedito.


Aligent Consulting [2] ha creato un diagramma di flusso per gli stati dell'ordine:

flusso stato ordine magento


fonti:

  1. Adam McCombs e Robert Banh: "La guida definitiva a Magento", Apress, 2009 (ISBN 1430272287, 9781430272281)
  2. https://twitter.com/aligent/status/509487359172177921/photo/1

Sono tutto per domande autosufficienti - ma questo sembra solo un seeding di bassa qualità. Una risposta copia + incolla che potrebbe essere facilmente reperita online non aggiunge molto valore a questo sito.
Ben Lessani - Sonassi,

4
@sonassi: rispetto la tua opinione e non pretenderei che la domanda sia di alta qualità, ma ho cercato un po 'per questo e non ho ancora trovato domande correlate qui o su SO, quindi potrebbe aiutare qualcun altro in futuro.
Fabian Schmengler,

Ho trovato questo super utile. a volte trovi cose più facilmente nello stack che su google, poiché lo stack è pre-filtrato, rispetto a google, per così dire. e se sta seminando, così sia. Hanno fornito valore. Sono totalmente d'accordo con la semina.
ahnbizcad,

2

I diversi stati dell'ordine sono definiti in 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';

+1 È scavalcabile? C'è un modo per ottenere questo dal resto api? ad es. / config / sales / possibleStatusList?
Mzn,

1
Sovrascrivi le costanti? Perché vuoi sovrascriverli? È possibile definire nuovi stati dell'ordine nel back-end (Sistema> Stati ordini). Se intendi "modifica degli stati degli ordini", sì, questo è possibile. E sì, puoi anche ottenere lo stato dell'ordine dall'API (metodo sales_order.info o metodo sales_order.list)
Stefan

Sì, intendevo cambiare l'elenco, non le costanti. sai come posso accedere a sales_order.info in api a riposo? qual è l'endpoint? ho provato / salesorders / info url relativo
Mzn

Non dovrebbe essere difficile, vedi qui per l'accesso in generale: magento.stackexchange.com/a/33187/6291 e informazioni su sales_order.info qui: devdocs.magento.com/guides/m1x/api/soap/sales/salesOrder/ ... buona fortuna!
Stefan,

Grazie per la risposta, ma l'API SOAP è davvero diversa dall'API REST. Per qualche motivo, non riesco a trovare di cui parli nei documenti API di REST: devdocs.magento.com/swagger/index.html Riesci a vederlo lì? Forse non è incluso nell'API REST?
Mzn,

1

In realtà, poiché nella sezione Amministratore è possibile definire 1,5 stati degli ordini e xml non è il modo preferito di aggiungere / modificare stati o stati. Si prega di fare la differenza tra stato e stato. Lo stato è "elaborazione" lo stato è "pagamento con carta di credito ricevuto"

Aggiornamento : gli stati degli ordini possono essere creati e modificati in admin / sales_order_status /, non è necessario eseguire alcuna operazione in XML È possibile assegnare uno stato solo se l'ordine è nello stato appropriato. Per impostazione predefinita, l'ordine passa allo stato Elaborazione quando viene fatturato o spedito.


Questo intendeva un commento sulla risposta di Sebastian Lind? Per quanto riguarda gli stati e gli stati, sembra che li abbia confusi (di nuovo ...), grazie per la correzione.
Fabian Schmengler,

-1

Puoi connettere il tuo nuovo stato agli stati degli ordini esistenti oppure creare completamente nuovi. Modifica semplicemente il file di configurazione del modulo di vendita come segue (app \ code \ core \ Mage \ Sales \ etc \ config.xml) con il tuo nuovo stato:

<?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>

Aggiorna la cache, fatto.


2
Niente di questa risposta è appropriato, temo.
benmarks

1
Non modificare il core di Magento. Piuttosto crea una configurazione nel tuo modulo. Magento unirà i tuoi e i file di configurazione del core.
Jacques,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.