C'è un modo per dire se un ordine è stato inserito attraverso il frontend del sito web o inserito attraverso il pannello di amministrazione?Differenzia acquisti backend e frontend in Magento
risposta
Per impostazione predefinita, Magento memorizza solo il remote_ip
nella tabella sales_flat_order
ad un ordinamento che è posto dal cliente (mentre l'ordine dell'amministratore è impostato su null).
Quindi provare questo:
if(!empty($order->getRemoteIp()){
//place online
}
else{
// place by admin
}
Vedi risposta Programmatically differentiate between admin & customer-placed orders
Ogni ordine ha un store_id
, se immesso tramite administraction sarà 0 (per archivio 'admin') o null.
if ($order->getStoreId()) {
// was placed via frontend
}
Non utilizzare getStore()
come quello non tornerà sempre l'oggetto di archivio di amministrazione in modo affidabile.
Non funziona con le ultime versioni di Magento. (Vedi commento)
di clockworkgeek è corretta. Aggiungerò un altro modo, che è principalmente utile per gli utenti amministrativi che non sono programmatori. Se si guarda l'ordine nella schermata di amministrazione (Admin -> vendite -> Ordini) avrà un campo "Inserito da IP" se l'ordine è stato creato dal frontend, ma se è stato fatto tramite il backend di amministrazione lo scherma non ci sarà – shaune
@sdek - È un bel consiglio, non ne ero a conoscenza prima. – clockworkgeek
Non funziona con le ultime versioni di Magento. Devi scegliere l'id del negozio prima di creare l'ordine nel back-end dell'amministratore. Quindi store_id avrà sempre un valore diverso da 0. –
È possibile controllare il valore is_super_mode
(ho solo controllare sulla citazione: $quote->getIsSuperMode()
)
Dove hai trovato questo campo? Non riesco a trovarlo per Magento 1.7 – Alex
- 1. Richiesta Magento - Frontend o Backend?
- 2. Java Backend e Rails Frontend
- 3. HAProxy con HTTP2 frontend e backend HTTP1.1
- 4. Backend E frontend per un'applicazione - Codeigniter
- 5. Strategia token JWT per frontend e backend
- 6. Frontend e backend separati con framework Yii
- 7. modello di condivisione tra frontend e backend (admin o adminhtml) in magento
- 8. Applicazione pagina singola - Frontend indipendente dal backend?
- 9. Estensione del carrello acquisti Magento
- 10. Backbone.js frontend con RESTful Rails backend?
- 11. Comunicazione frontend-backend per un'applicazione mobile
- 12. Django è il frontend o il backend?
- 13. frontend disaccoppiato e backend con Django, webpack, reactjs, react-router
- 14. Yii2 Collegamenti tra frontend e backend (modello avanzato)
- 15. Magento: come posso visualizzare le impostazioni di configurazione backend nelle pagine CMS frontend (o blocchi statici)?
- 16. AngularJS - Passaggio dei valori dal backend al frontend
- 17. Tipo di attributo modifica Magento nel backend
- 18. Utilizzo ZeroMQ nell'applicazione Web: come interagisce frontend con il backend
- 19. La pagina del catalogo di backend Magento continua ad aggiornarsi
- 20. Ottieni i dettagli del carrello acquisti in Magento
- 21. Posso ospitare il frontend Angular2 e il backend Golang in un server
- 22. Qual è la definizione/differenza di "backend" e un "frontend" in uno sviluppo/progetto software?
- 23. LibGDX Acquisti in-app e Gradle
- 24. Il frontend e il backend dovrebbero essere gestiti da diversi controller?
- 25. Come distribuire i progetti di backend e frontend se sono separati?
- 26. Distribuire il backend e il frontend sulla stessa app Heroku/dyno
- 27. Sviluppo di un'app mobile con Ionic come frontend e Django come backend
- 28. Imposta limite di timeout della sessione per il frontend di Magento
- 29. Come distribuire un frontend dell'applicazione angularjs con Nginx e dropwizard
- 30. Utilizzo dello stesso nome di instradamento di Magento per i router frontend e admin
Grazie per il bel gancio +1 da parte mia @RS –
Sto cercando di immaginare che se Magento è stato installato su un host cloud, l'ordine effettuato dal cliente o dall'amministratore avrà un indirizzo IP remoto . Sono corretto – burntblark