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.