ฉันค่อนข้างใหม่สำหรับ drupal และฉันกำลังพยายามสร้างโมดูลเกตเวย์การชำระเงินแบบกำหนดเองและติดอยู่กับปัญหา เมื่อสร้าง OnSitePaymentGateway ทุกอย่างเรียบร้อยดี และฉันสามารถแก้ไขแบบฟอร์มชำระเงินด้วย PaymentMethodAddForm แต่สำหรับ OffsitePaymentGatewayBase ฉันไม่สามารถแสดงข้อมูลเพิ่มเติมในแบบฟอร์มชำระเงินได้ นี่คือรหัสที่ฉันใช้
/**
* ให้เกตเวย์การชำระเงิน Cresh
*
* @CommercePaymentGateway(
*id = "creshio",
* ฉลาก = "Cresh.io",
* display_label = "Cresh.io",
* แบบฟอร์ม = {
* "การชำระเงินนอกสถานที่" = "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('payment-add-form-wrapper');
$form['#prefix'] = '<div id="cresh-placeholder">';
$form['#suffix'] = '</div>';
คืนฟอร์ม $;
}
}
ฉันไม่เห็น cresh-placeholder ในแบบฟอร์ม