1 - я добавляю атрибут eav в customer_address
$attributesInfo = [
'reference' => [
'label' => 'Reference',
'type' => 'varchar',
'input' => 'text',
'position' => 100,
'visible' => true,
'required' => false,
],
];
foreach ($attributesInfo as $attributeCode => $attributeParams) {
$customerSetup->addAttribute('customer_address', $attributeCode, $attributeParams);
}
2 - я добавил атрибут расширения в свой модуль
<extension_attributes for="Magento\Quote\Api\Data\AddressInterface">
<attribute code="reference" type="string"/>
</extension_attributes>
В моем requirejs-config.js я перезаписываю некоторый файл javascript, чтобы добавить поле ссылки
var config = {
"map": {
"*": {
"Magento_Checkout/js/model/shipping-save-processor/default" : "Agr_Checkout/js/shipping-save-processor-default-override",
"Magento_Customer/js/model/customer/address" : "Agr_Checkout/js/model/customer/address",
"Magento_Checkout/js/model/address-converter" : "Agr_Checkout/js/model/address-converter",
"Magento_Checkout/js/model/new-customer-address" : "Agr_Checkout/js/model/new-customer-address"
}
}
3 - я подтверждаю, что поле ссылки отправляет адрес
4 - Когда я отправляю информацию о доставке (нажмите «Далее»), я получаю эту ошибку: «Ссылка на свойство» не имеет соответствующего установщика в классе «Magento \ Quote \ Api \ Data \ AddressInterface». »
Я уже делаю: - Очистить и очистить кэш magento - Запустить установку: обновить - Запустить установку: di: compile
Что я делаю не так?
Ответы:
Настройка атрибутов в скрипте установки или обновления eav работает лучше всего и автоматически добавит формы, к которым вы запрашиваете добавление.
Этот код добавит формы и не будет проблем с сохранением или переходом к следующему шагу.
источник
Попробуйте установить его с помощью пользовательских атрибутов.
Пример:
источник
как вы передаете атрибут в запросе? вы можете проверить консоль браузера, как это
Это правильно. Вы можете удалить папку var и сгенерированную папку var / cache var / page_cache var / view_proceed и генерируется / .
источник