Сохраните пользовательское поле в адресе доставки при оформлении заказа в Magento 2


В Magento2 есть какой-нибудь простой способ добавить пользовательское поле для оформления заказа? Я отобразил свое пользовательское поле в адресе доставки, следуя советам StackOverflow и документам Magento. К сожалению, в документах Magento нет информации о том, как сохранить этот атрибут в базе данных.

Я переместил свои атрибуты из custom_attributes в extension_attributes, но значения по-прежнему не сохраняются в адресе доставки клиента.

Можете ли Вы дать мне совет, как я должен сохранить свое новое поле в пользовательские атрибуты в адресе доставки в сведениях о клиенте?

Author: K. Maliszewski, 2017-11-22

1 answers

Я решил свою проблему. Дополнительное поле в Адресе доставки сохраняется, чтобы сначала указать цену. Поэтому, если вы хотите сохранить новое поле в пользовательских атрибутах в сведениях о клиенте, вам необходимо выполнить следующие действия:

  1. Расширить атрибуты расширения для Magento\Цитата\Api\Данные\Интерфейс адреса (в документах Magento)
  2. Расширить таблицу котировок в БД о создании нового поля

  3. Set-shipping-information-mixin.js и переместите атрибуты в расширение атрибуты (в Magento документы)

  4. Создайте плагин в ShippingInformationManagement, прежде чем Метод сохранения адресной информации. Считайте переменную из атрибутов расширения и сохраните ее в кавычках

  5. Перезапишите метод "Populatecustomerinfo" в "Magento\Quote\Model\Customermanagment", прочитайте новое значение из предложения и сохраните его в пользовательских атрибутах в объекте customer.
 2
Author: K. Maliszewski, 2017-11-30 07:35:17