Czy jest ktoś, kto może dać mi przykład, jak korzystać extension_attributes
z Magento2?
Czy jest ktoś, kto może dać mi przykład, jak korzystać extension_attributes
z Magento2?
Odpowiedzi:
Załóżmy, że tworzymy datę dostawy zamówienia, kiedy klient wybiera wysyłkę, wtedy klient może wybrać datę dostawy. Możesz więc utworzyć atrybut rozszerzenia dla \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface w następujący sposób
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Api/etc/extension_attributes.xsd">
<extension_attributes for="Magento\Checkout\Api\Data\ShippingInformationInterface">
<attribute code="delivery_date" type="string"/>
</extension_attributes>
</config>
Teraz możesz uzyskać dostęp do tej wartości, używając \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface jako di.
W takim przypadku Magento \ Checkout \ Model \ ShippingInformationManagement w tej klasie użyj \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface jako parametrów metody saveAddressInformation. Aby uzyskać dostęp do następującego sposobu:
$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();
Aby uzyskać więcej informacji (oficjalna dokumentacja Magento 2)
Oto przykład:
Wybierz wartość atrybutów rozszerzenia
[Aktualizacja]
Można ustawić rozszerzenie_atrybuty metodą setExtensionAttributes . Następująca klasa jest przykładem: Kliknij tutaj
extension_attributes
do działania? Na przykład, czy zawsze muszę dodawać wtyczkę afterLoad
dla klientów, jeśli chcę mieć niestandardowy atrybut dla klientów? Wydaje mi się to trochę nad głową ...