So erhalten Sie die Kundenadresse mit der Adress-ID


Antworten:


7

Sie können die formatierte Adresse address idmit dem folgenden Code erhalten:

public function __construct(
    \Magento\Customer\Api\AddressRepositoryInterface $addressRepository,
    \Magento\Customer\Model\Address\Config $addressConfig,
    \Magento\Customer\Model\Address\Mapper $addressMapper,
) {
    $this->addressRepository = $addressRepository;
    $this->_addressConfig = $addressConfig;
    $this->addressMapper = $addressMapper;
}

public function getFormattedAddress($addressId)
{
    try {
        $addressObject = $this->addressRepository->getById($addressId);
        /** @var \Magento\Customer\Block\Address\Renderer\RendererInterface $renderer */
        $renderer = $this->_addressConfig->getFormatByCode('html')->getRenderer();
        return $renderer->renderArray($this->addressMapper->toFlatArray($addressObject));
    } catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
        return null;
    }
}

Kann ich diesen Code zum Blockieren platzieren?
— Edwin Widhiyanto

Ja, Sie können den Code in Block hinzufügen
— Pankaj Pareek

Ich habe Ihren Code ausprobiert, aber nichts wurde angezeigt, als ich die Funktion in phtml aufrief
— Edwin Widhiyanto

1
Ich habe den Code aktualisiert und getestet. bitte prüfe. @max: Ich habe dies verwendet, um nur zu verweisen, um diesen Code mit vorhandenem Konstruktcode hinzuzufügen----
— Pankaj Pareek

1
Verwenden Sie lieber //Kommentare anstelle von Code-brechenden Fragmenten. :)
— Max

0

Sie können die Reihenfolge wie folgt abrufen, wo immer Sie diese Informationen aufrufen möchten. Fügen Sie im Konstruktor Folgendes hinzu, wenn es nicht bereits verwendet wird.

protected $ checkoutSession; öffentliche Funktion __construct (\ Magento \ Checkout \ Model \ Session $ checkoutSession, \ Psr \ Log \ LoggerInterface $ logger) {

    $this->checkoutSession = $checkoutSession;
    $this->logger = $logger;
}


$order = $session->getLastRealOrder();
$orderdata = $order->getData();
$shipping_address_id = $orderdata['shipping_address_ID'];

Diese Adresse ist die endgültige Versandadresse, die während der Zahlungsphase des Bestellvorgangs ausgewählt wurde.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.