Я немного новичок в drupal, и я пытаюсь создать собственный модуль платежного шлюза и столкнулся с проблемой. При создании OnSitePaymentGateway все в порядке, и я могу редактировать форму оформления заказа с помощью PaymentMethodAddForm. Но для OffsitePaymentGatewayBase я не могу вывести дополнительную информацию в форму оформления заказа. Это код, который я использую.
/**
* Предоставляет платежный шлюз Cresh.
*
* @CommercePaymentGateway(
* id = "крешио",
* label = "Cresh.io",
* display_label = "Cresh.io",
* формы = {
* "offsite-payment" = "Drupal\commerce_creshio\PluginForm\CreshioForm",
* },
*
* js_library = "commerce_creshio/creshlib",
* )
*/
класс Creshio расширяет OffsitePaymentGatewayBase { .... }
Затем я создал CreshioForm.php в src/PluginForm/ и добавил следующий код.
класс CreshioForm расширяет BasePaymentOffsiteForm {
общедоступная функция buildConfigurationForm (массив $ form, FormStateInterface $ form_state) {
$form = parent::buildConfigurationForm($form, $form_state);
$form['#wrapper_id'] = Html::getUniqueId('платеж-добавить-форму-оболочку');
$form['#prefix'] = '<div id="cresh-placeholder">';
$form['#suffix'] = '</div>';
вернуть $ форму;
}
}
Я не вижу cresh-placeholder в форме.