You are here

function commerce_checkout_form_commerce_order_type_form_alter in Commerce Core 8.2

Implements hook_form_FORM_ID_alter() for 'commerce_order_type_form'.

File

modules/checkout/commerce_checkout.module, line 128
Provides configurable checkout flows.

Code

function commerce_checkout_form_commerce_order_type_form_alter(array &$form, FormStateInterface $form_state) {

  /** @var \Drupal\commerce_order\Entity\OrderTypeInterface $order_type */
  $order_type = $form_state
    ->getFormObject()
    ->getEntity();
  $storage = \Drupal::entityTypeManager()
    ->getStorage('commerce_checkout_flow');
  $checkout_flows = $storage
    ->loadMultiple();
  $form['commerce_checkout'] = [
    '#type' => 'details',
    '#title' => t('Checkout settings'),
    '#weight' => 5,
    '#open' => TRUE,
  ];
  $form['commerce_checkout']['checkout_flow'] = [
    '#type' => 'select',
    '#title' => t('Checkout flow'),
    '#options' => EntityHelper::extractLabels($checkout_flows),
    '#default_value' => $order_type
      ->getThirdPartySetting('commerce_checkout', 'checkout_flow', 'default'),
    '#required' => TRUE,
  ];
  $form['actions']['submit']['#submit'][] = 'commerce_checkout_order_type_form_submit';
}