Я вижу много уроков в интернете, все они останавливаются на
nameplugin-method.js
как заказ на покупку офлайн плагина по умолчанию:
Форма:
<form id="purchaseorder-form" class="form form-purchase-order" data-role="purchaseorder-form">
<fieldset class="fieldset payment method" data-bind='attr: {id: "payment_form_" + getCode()}'>
<div class="field field-number required">
<label for="po_number" class="label">
<span><!-- ko i18n: 'Purchase Order Number'--><!-- /ko --></span>
</label>
<div class="control">
<input type="text"
id="po_number"
name="payment[po_number]"
data-validate="{required:true}"
data-bind='
attr: {title: $t("Purchase Order Number")},
value: purchaseOrderNumber'
class="input-text"/>
</div>
</div>
</fieldset>
</form>
JavaScript:
function (Component, $) {
'use strict';
return Component.extend({
defaults: {
template: 'Magento_OfflinePayments/payment/purchaseorder-form',
purchaseOrderNumber: ''
},
initObservable: function () {
this._super()
.observe('purchaseOrderNumber');
return this;
},
getData: function () {
return {
"method": this.item.method,
'po_number': this.purchaseOrderNumber(),
"additional_data": null
};
},
validate: function () {
var form = 'form[data-role=purchaseorder-form]';
return $(form).validation() && $(form).validation('isValid');
}
});
}
Думая о безопасности, я не буду делать интеграцию платежей с javascript, потому что это может быть изменено во время выполнения.
Итак, я должен сделать что-то вроде AJAX в этом плагине, чтобы вызвать другой класс, у которого есть вся информация о заказе.
Как это сделать?
Официальная документация Magento 2 не затрагивает эту тему.