tôi đang sử dụng tài liệu ví dụ.Vì một số lý do, tôi không thể hiển thị khung tùy chỉnh trong phần thanh toán.
Tôi đang thiếu gì?
Tôi đang sử dụng phiên bản Drupal Commerce và Drupal 9.2 mới nhất.
không gian tên Drupal\my_checkout_pane\Plugin\Commerce\CheckoutPane;
sử dụng Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\CheckoutPaneBase;
sử dụng Drupal\Core\Form\FormStateInterface;
/**
* Cung cấp một ngăn thông báo tùy chỉnh.
*
* @C CommerceCheckoutPane (
* id = "my_checkout_pane_custom_message",
* nhãn = @Translation("Thông báo tùy chỉnh"),
* display_label = @Translation("Nhãn hiển thị khác"),
* default_step = "xem lại",
* wrapper_element = "bộ trường",
* )
*/
lớp CustomMessagePane mở rộng CheckoutPaneBase {
/**
* {@inheritdoc}
*/
chức năng công khai buildPaneForm(mảng $pane_form, FormStateInterface $form_state, mảng &$complete_form) {
$form_display = EntityFormDisplay::collectRenderDisplay($this->order, 'checkout');
$form_display->buildForm($this->order, $pane_form, $form_state);
trả về $pane_form;
}
/**
* {@inheritdoc}
*/
hàm công khai validatePaneForm(mảng &$pane_form, FormStateInterface $form_state, mảng &$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}
*/
hàm công khai submitPaneForm(mảng &$pane_form, FormStateInterface $form_state, mảng &$complete_form) {
$form_display = EntityFormDisplay::collectRenderDisplay($this->order, 'checkout');
$form_display->extractFormValues($this->order, $pane_form, $form_state);
}
}