Ich habe folgenden Code:
$lastOrderId = Mage::getSingleton('checkout/session')
->getLastRealOrderId();
$orderId = Mage::getModel('sales/order')
->loadByIncrementId($lastOrderId)
->getEntityId();
$order = Mage::getModel('sales/order')->load($orderId);
echo $order;
$udo = array();
$udo['CID'] = '123';
$udo['TYPE'] = '123';
Ich muss TYPE jedoch einen anderen Wert zuweisen, wenn die Bestellung von einem bestehenden Kunden oder von einem neuen Kunden stammt.
Irgendeine Idee>?
Im folgenden Ereignis anrufen:
Wir haben zwei Entitäten mit dem Wert customer_id. Wenn wir einen bestehenden Kunden haben,
$order->getCustomerId()
wird der echte Ausweis zurückgegeben . Wenn der Kunde gerade erstellt wurde, gibt er true zurück .Wenn Sie also etwas auf Bestellung basierend auf dem Kunden (neu / alt) anwenden möchten, führen Sie den Beobachter aus:
Erläuterung:
Schauen wir uns drei geschützte Methoden an: _prepareGuestQuote (), _prepareNewCustomerQuote (), _prepareCustomerQuote ()
Wie Sie sehen können, hat der Gastkunde den Wert Null
Für Neukunden setzen wir wahr
Für bestehende Kunden nehmen wir das Objekt aus der Sitzung. Wie Sie verstehen, hat dieses Objekt den Wert customer_id.
quelle
$ order-> getCustomerId () sollte für Gast Null zurückgeben, wenn ich mich recht erinnere.
quelle