Existe alguém que possa me dar um exemplo de como usar o extension_attributes
Magento2?
Existe alguém que possa me dar um exemplo de como usar o extension_attributes
Magento2?
Respostas:
Suponhamos que criamos uma data de entrega do pedido, quando o cliente selecionar a remessa, o cliente poderá selecionar uma data de entrega. Para criar um atributo de extensão para \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface da seguinte maneira
<?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>
Portanto, agora você pode acessar esse valor ao usar \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface como di.
Portanto, nesse caso, Magento \ Checkout \ Model \ ShippingInformationManagement, esta classe usa \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface como parâmetros para o método saveAddressInformation. Para que você possa acessar da seguinte maneira:
$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();
Para mais detalhes (Magento 2 Official Documentation)
Aqui está um exemplo:
Escolher valor dos atributos de extensão
[Atualizar]
Você pode definir extension_attributes pelo método setExtensionAttributes . A seguir, a classe é um exemplo: Clique aqui
extension_attributes
para funcionar? Por exemplo, eu sempre tenho que adicionar um plug-in afterLoad
para os clientes se quiser ter um atributo personalizado para os clientes? Parece um pouco em cima de mim ...