Y a-t-il quelqu'un qui peut me donner un exemple sur la façon d'utiliser extension_attributes
dans Magento2?
Y a-t-il quelqu'un qui peut me donner un exemple sur la façon d'utiliser extension_attributes
dans Magento2?
Réponses:
Supposons que nous créons une date de livraison de la commande, lorsque le client sélectionne l'expédition, le client peut sélectionner une date de livraison. Vous pouvez donc créer un attribut d'extension pour \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface de la manière suivante
<?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>
Alors maintenant, vous pouvez accéder à cette valeur lorsque vous utilisez \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface en tant que di.
Donc, dans ce cas, Magento \ Checkout \ Model \ ShippingInformationManagement cette classe utilise \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface comme paramètres pour la méthode saveAddressInformation. Vous pouvez donc accéder de la manière suivante:
$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();
Pour plus de détails (documentation officielle de Magento 2)
Voici un exemple:
Choisir la valeur des attributs d'extension
[Mise à jour]
Vous pouvez définir extension_attributes par la méthode setExtensionAttributes . La classe suivante est un exemple: Cliquez ici
extension_attributes
fonctionner? Par exemple, dois-je toujours ajouter un plugin afterLoad
pour les clients si je veux avoir un attribut personnalisé pour les clients? Cela me semble un peu