Gibt es eine Möglichkeit festzustellen, ob eine Bestellung über das Frontend der Website aufgegeben oder über das Verwaltungsfenster eingegeben wurde?Differenzierung zwischen Backend- und Frontend-Einkäufen in Magento
Antwort
standardmäßig Magento speichert nur die remote_ip
in Tabelle sales_flat_order
für einen Auftrag, der Ort ist durch den Kunden (während die Admin-Reihenfolge auf null gesetzt ist).
diese So versuchen:
if(!empty($order->getRemoteIp()){
//place online
}
else{
// place by admin
}
Siehe Programmatically differentiate between admin & customer-placed orders
Jede Bestellung hat eine store_id
, wenn sie durch Administration eingegeben wird, wird entweder 0 (für 'admin' speichern) oder null sein.
if ($order->getStoreId()) {
// was placed via frontend
}
Sie getStore()
als dass nicht nicht immer Rück das Admin-Speicherobjekt zuverlässig verwenden.
Funktioniert nicht mit den neuesten Versionen von Magento. (Siehe Kommentar)
clockworkgeek Antwort richtig ist. Ich füge einen anderen Weg hinzu, der vor allem für administrative Benutzer hilfreich ist, die keine Programmierer sind. Wenn Sie die Bestellung im Administrationsbildschirm ansehen (Admin -> Verkauf -> Bestellungen), wird ein Feld "Von IP-Adresse gesendet" angezeigt, wenn die Bestellung vom Frontend erstellt wurde, aber wenn es über das Admin-Backend erfolgt wird nicht da sein. – shaune
@sdek - Das ist ein netter Tipp, ich war mir vorher nicht bewusst. – clockworkgeek
Funktioniert nicht mit den neuesten Versionen von Magento. Sie müssen die Store-ID vor dem Erstellen der Bestellung im Admin-Backend auswählen. Also store_id wird immer einen anderen Wert als 0 haben. –
Sie den is_super_mode
Wert überprüfen (ich habe nur auf das Angebot prüfen: $quote->getIsSuperMode()
)
Wo haben Sie dieses Feld gefunden? Ich kann es nicht finden für Magento 1.7 – Alex
Danke für nette Haken +1 von mir @RS –
Ich versuche mir vorzustellen, dass, wenn Magento auf einem Cloud-Host installiert wurde, die Bestellung entweder vom Kunden oder Admin eine Remote-IP-Adresse hat . Ich stehe korrigiert – burntblark