Score:0

บานหน้าต่างชำระเงินไม่แสดงบานหน้าต่างแบบกำหนดเอง

ธง cn

ฉันกำลังใช้ เอกสาร ตัวอย่าง.ด้วยเหตุผลบางประการ ฉันไม่สามารถทำให้บานหน้าต่างแบบกำหนดเองแสดงในการชำระเงินได้

ฉันพลาดอะไรไป

ฉันใช้ Drupal Commerce และ Drupal 9.2 เวอร์ชันล่าสุด

เนมสเปซ Drupal\my_checkout_pane\Plugin\Commerce\CheckoutPane;

ใช้ Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\CheckoutPaneBase
ใช้ Drupal\Core\Form\FormStateInterface;

/**
 * ให้บานหน้าต่างข้อความที่กำหนดเอง
 *
 * @CommerceCheckoutPane(
 * id = "my_checkout_pane_custom_message",
 * label = @Translation("ข้อความที่กำหนดเอง"),
 * display_label = @Translation("ป้ายกำกับที่แสดงอื่น"),
 * default_step = "ตรวจทาน",
 * wrapper_element = "ชุดฟิลด์",
 * )
 */
คลาส CustomMessagePane ขยาย CheckoutPaneBase {

  /**
   * {@inheritdoc}
   */
  ฟังก์ชันสาธารณะ buildPaneForm (อาร์เรย์ $pane_form, FormStateInterface $form_state, อาร์เรย์ &$ Complete_form) {
    $form_display = EntityFormDisplay::collectRenderDisplay($this->order, 'checkout');
    $form_display->buildForm($this->order, $pane_form, $form_state);
    ส่งคืน $pane_form;
  }

  /**
   * {@inheritdoc}
   */
  ฟังก์ชันสาธารณะ validatePaneForm (อาร์เรย์ &$pane_form, FormStateInterface $form_state, อาร์เรย์ &$complete_form) {
    $form_display = EntityFormDisplay::collectRenderDisplay($this->order, 'checkout');
    $form_display->extractFormValues($this->order, $pane_form, $form_state);
    $form_display->validateFormValues($this->order, $pane_form, $form_state);
  }

  /**
   * {@inheritdoc}
   */
  ฟังก์ชันสาธารณะ submitPaneForm (อาร์เรย์ &$pane_form, FormStateInterface $form_state, อาร์เรย์ &$complete_form) {
    $form_display = EntityFormDisplay::collectRenderDisplay($this->order, 'checkout');
    $form_display->extractFormValues($this->order, $pane_form, $form_state);
  }

}
No Sssweat avatar
ua flag
สำหรับวัตถุประสงค์ในการทดสอบ/แก้จุดบกพร่อง ให้ลองใช้ `$pane_form['message'] = ['#markup' => $this->t('This is my custom message.'), ]; กลับ $pane_form;` เหมือนตัวอย่างที่แสดง
No Sssweat avatar
ua flag
นอกจากนี้ ตรวจสอบเส้นทางไฟล์อีกครั้งคือ `/modules/custom/my_checkout_pane/src/Plugin/Commerce/CheckoutPane/CustomMessagePane.php` ดังนั้นคุณต้องมีโมดูลที่กำหนดเองชื่อ `my_checkout_pane` เนื่องจากนั่นคือสิ่งที่คุณใช้สำหรับเนมสเปซ
cn flag
ขอบคุณสำหรับหัวขึ้น. หลังจากการตรวจสอบเพิ่มเติม ฉันพบปัญหาเส้นทางไฟล์ ความคิดเห็นที่สองของคุณช่วยแก้ปัญหาของฉัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา