¿Hay alguien que me pueda dar un ejemplo sobre cómo usar extension_attributes
en Magento2?
¿Hay alguien que me pueda dar un ejemplo sobre cómo usar extension_attributes
en Magento2?
Respuestas:
Supongamos que creamos una fecha de entrega del pedido, cuando el cliente selecciona el envío, el cliente puede seleccionar una fecha de entrega. Por lo tanto, puede crear un atributo de extensión para \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface de la siguiente manera
<?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>
Entonces ahora puede acceder a este valor cuando usa \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface como di.
Entonces, en ese caso, Magento \ Checkout \ Model \ ShippingInformationManagement esta clase usa \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface como parámetros para el método saveAddressInformation. Para que pueda acceder de la siguiente manera:
$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();
Para más detalles (Documentación oficial de Magento 2)
Aquí hay un ejemplo:
Seleccionar el valor de los atributos de extensión
[Actualizar]
Puede establecer extension_attributes mediante el método setExtensionAttributes . La siguiente clase es un ejemplo: haga clic aquí
extension_attributes
que funcionen? Por ejemplo, ¿siempre tengo que agregar un complemento afterLoad
para clientes si quiero tener un atributo personalizado para clientes? Me parece un poco sobrecargado ...