Сохраните пользовательское поле в адресе доставки при оформлении заказа в Magento 2
В Magento2 есть какой-нибудь простой способ добавить пользовательское поле для оформления заказа? Я отобразил свое пользовательское поле в адресе доставки, следуя советам StackOverflow и документам Magento. К сожалению, в документах Magento нет информации о том, как сохранить этот атрибут в базе данных.
Я переместил свои атрибуты из custom_attributes в extension_attributes, но значения по-прежнему не сохраняются в адресе доставки клиента.
Можете ли Вы дать мне совет, как я должен сохранить свое новое поле в пользовательские атрибуты в адресе доставки в сведениях о клиенте?
1 answers
Я решил свою проблему. Дополнительное поле в Адресе доставки сохраняется, чтобы сначала указать цену. Поэтому, если вы хотите сохранить новое поле в пользовательских атрибутах в сведениях о клиенте, вам необходимо выполнить следующие действия:
- Расширить атрибуты расширения для Magento\Цитата\Api\Данные\Интерфейс адреса (в документах Magento)
Расширить таблицу котировок в БД о создании нового поля
Set-shipping-information-mixin.js и переместите атрибуты в расширение атрибуты (в Magento документы)
Создайте плагин в ShippingInformationManagement, прежде чем Метод сохранения адресной информации. Считайте переменную из атрибутов расширения и сохраните ее в кавычках
- Перезапишите метод "Populatecustomerinfo" в "Magento\Quote\Model\Customermanagment", прочитайте новое значение из предложения и сохраните его в пользовательских атрибутах в объекте customer.