я использую документация пример.По какой-то причине я не могу отобразить настраиваемую панель при оформлении заказа.
Что мне не хватает?
Я использую последнюю версию 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);
}
}