Ich möchte Kundeninformationen vom Beobachter der Kundenauftragsansicht im Abschnitt adminhtml abrufen. Derzeit weiß ich nur, wie ich die Bestellung in diesem Beobachter wie folgt abrufen kann:
namespace Namespace\Module\Block\Adminhtml\Order\View;
class Custom extends \Magento\Backend\Block\Template
{
public function getCustomAttribute(){
$order = $this->getParentBlock()->getOrder();
return $order->getId();
}
}
Ich muss die Kundeninformationen aus dieser Bestellung abrufen, wenn die Bestellung von einem angemeldeten Kunden stammt
magento2
sales-order
customer-attribute
Idham Choudry
quelle
quelle
$order->getCustomer()
?Antworten:
Innenbeobachter,
Für Lieferadresse ,
$order->getShippingAddress()->getData()
und für die Abrechnung ,
$order->getBillingAddress()->getData()
Mit Observer können Sie alle Arten von Kundendaten abrufen.
quelle
$order->getCustomerIsGuest()
zu prüfen, ob die Bestellung vom Kunden eingeloggt ist oder nicht?Gemäß dem Magento2-Standard können Sie die Sales Collection Factory-Klasse einfügen und diese Sammlung dann nach Kunden-ID filtern.
oder
Dies wird jedoch nicht empfohlen.
quelle
Repository verwenden . Mit
$order
dir kannst du machen$customer
ist eine Instanz vonMagento\Customer\Model\Data\Customer
, rufen Sie einfach die get () -Methoden auf, um auf Kundeneigenschaften zuzugreifen.quelle
Der folgende Code sollte Ihnen Kundeninformationen über das Bestellobjekt geben können:
quelle
@ Idham Choudry,
Sie können Ihrem Beobachter den folgenden Code hinzufügen, um Kundeninformationen zu erhalten.
quelle