Quali sono le definizioni dei stati degli ordini? O: Dove dovrei integrare il mio stato ordine?
-
16-10-2019 - |
Domanda
voglio definire alcuni stati d'ordine come "pagamento con carta di credito ricevuta", la questione è di quali stati di appartenenza. C'è una definizione per ciascuna delle built-in stati?
Edit: sembra che io confuso "status" e di "stato", spero che ottiene chiaro dal contesto in ogni modo. Do la colpa della traduzione tedesca Magento (Stato => Stato, Stato => Zustand)
Soluzione
Secondo "The Definitive Guide to Magento" [1] , gli stati di ordine sono definiti come segue:
- In attesa: gli ordini pendenti sono nuovi di zecca ordini che non sono stati elaborati. In genere, questi ordini devono essere fatturate e spedite.
- In attesa di PayPal: in attesa di ordini PayPal sono nuovissimi ordini che non sono stati liquidati da PayPal. [...]
- Lavorazione:. i mezzi che gli ordini sono entrambi stati fatturati o spediti, ma non sia l'elaborazione
- Completa:. Ordini segnato come completo sono stati fatturati e sono spediti
- Annullato:. ordini annullati dovrebbero essere utilizzati se gli ordini vengono annullati o se non sono stati pagati gli ordini per
- chiuso:. gli ordini sono ordini chiusi che hanno avuto una nota di credito assegnato ad essa e il cliente è stato rimborsato per il loro ordine
- In attesa:. Gli ordini in attesa devono essere tolti attesa prima di continuare qualsiasi ulteriore azione
Quindi uno stato di "pagamento con carta di credito ricevuto" apparterrebbe a processing
, a condizione che l'ordine non è stato ancora spedito.
Aligent Consulenza [2] creato un diagramma di flusso per gli stati di ordine:
Fonti:
- Adam McCombs e Robert Bahn: "The Definitive Guide to Magento", Apress, 2009 (ISBN 1.430.272,287 mila, 9.781.430,272281 millions)
- https://twitter.com/aligent/status/509487359172177921/photo/1
Altri suggerimenti
I diversi stati di 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';
In realtà dal 1,5 stati degli ordini possono essere definiti in sezione Amministrazione, e XML non è il modo preferito per l'aggiunta / modifica degli stati o stati. Si prega di fare la differenza tra stato e stato. Stato è 'in fase di elaborazione' stato è 'il pagamento con carta di credito ricevuto'
Aggiorna : stati degli ordini possono essere creati e modificati in admin / sales_order_status /, non c'è bisogno di fare nulla in XML È possibile assegnare uno stato solo se l'ordine è in stato appropriato. Con ordine predefinito va in stato di elaborazione quando viene fatturata o spedito.
È possibile collegare il nuovo stato di status ordine esistente, oppure creare completamente nuovo. È sufficiente modificare il file di configurazione delle vendite modulo come segue (app \ code \ Core \ Mage \ vendite \ etc \ config.xml) con il 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.