extension_attributes
Хтось може надати мені приклад того, як використовувати в Magento2?
extension_attributes
Хтось може надати мені приклад того, як використовувати в Magento2?
Відповіді:
Припустимо, ми створюємо дату доставки замовлення, коли клієнт вибирає доставку, то замовник може вибрати дату доставки. Отже, ви можете створити атрибут розширення для \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface наступним чином
<?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>
Отже, тепер ви можете отримати доступ до цього значення, використовуючи \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface як ді.
Тож у цьому випадку Magento \ Checkout \ Model \ ShippingInformationManagement цього класу використовують \ Magento \ Checkout \ Api \ Data \ ShippingInformationInterface як парами для методу saveAddressInformation. Таким чином, ви можете отримати доступ таким чином:
$extAttributes = $addressInformation->getExtensionAttributes();
$deliveryDate = $extAttributes->getDeliveryDate();
Детальніше (офіційна документація Magento 2)
Ось приклад:
Вибір значення атрибутів розширення
[Оновлення]
Ви можете встановити extension_attributes методом setExtensionAttributes . Наступний клас - приклад: Клацніть тут
extension_attributes
щоб працювати? Наприклад, чи потрібно завжди додавати плагін afterLoad
для клієнтів, якщо я хочу мати спеціальний атрибут для клієнтів? Мені це здається трохи накладним…