ACL - это мой собственный способ оплаты, теперь я хочу добавить настраиваемое поле под опцией ACL на странице оформления заказа.
PFA
magento2
payment-methods
Акаша
источник
источник
Ответы:
Чтобы ответить на ваш вопрос, есть 3 части:
Создать атрибут заказа
Для создания атрибута заказа вы ДОЛЖНЫ использовать скрипт установки со следующим кодом:
Я использовал скрипт обновления в качестве примера, но вы также можете использовать inscript для выполнения той же функции.
Вставить атрибут при оформлении заказа
Этот процесс немного сложен, но я думаю, что это все еще хорошо для вас.
Создайте новый файл
app/code/Vendor/Module/etc/extension_attributes.xml
со следующим кодом:Создайте файл
app/code/Vendor/Module/view/frontend/requirejs-config.js
со следующим кодом:Создайте новый файл
app/code/Vendor/Module/view/frontend/web/js/order/set-shipping-information-mixin.js
со следующим кодом:Создать файл
app/code/Vendor/Module/view/frontend/layout/checkout_index_index.xml
Создайте файл
app/code/Vendor/Module/view/frontend/web/template/order_attr.html
со следующим кодом:Создайте файл
app/code/Vendor/Module/view/frontend/web/js/view/order_attr.js
со следующим кодом:Создайте файл
app/code/Vendor/Module/etc/di.xml
со следующим кодом:Создайте новый файл
app/code/Vendor/Module/Plugin/AddOrderAttrToQuote.php
со следующим кодом:Создать новый файл
app/code/Cleargo/NewAttributes/etc/events.xml
Создайте новый файл
app/code/Vendor/Module/Observer/HandleOrderAttrs.php
со следующим кодом:Прочтите Атрибут заказа в платежном модуле
Для случая 3, кажется, это от стороннего модуля. В любом случае, если вы хотите получить значение
bank_name
из порядка, вы можете использовать следующий код:вывод представляется
Для атрибута заказа достаточно много работы, но как только вы поймете ключевой момент, все пройдет гладко.
источник