Рейтинг: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
В целях тестирования/отладки попробуйте использовать `$pane_form['message'] = ['#markup' => $this->t('Это мое пользовательское сообщение.'), ]; return $pane_form;` как показано в примере.
No Sssweat avatar
флаг ua
Также путь к файлу двойной проверки: `/modules/custom/my_checkout_pane/src/Plugin/Commerce/CheckoutPane/CustomMessagePane.php`, поэтому у вас должен быть настраиваемый модуль с именем `my_checkout_pane`, так как это то, что вы используете для пространства имен.
флаг cn
Спасибо за внимание. После дальнейшего просмотра у меня возникла проблема с путем к файлу. Ваш второй комментарий помогает решить мою проблему.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.