web-dev-qa-db-ja.com

カスタムモジュールのコマースチェックアウトフォームを変更する方法

私はコマースを使用しており、特定のフィールドを事前に入力して非表示にするために、カスタムモジュールのチェックアウトフォームを変更したいと考えています。

ただし、hook_form_alter()およびhook_commerce_checkout_pane_alter()を使用してこれを行うことはできません。

これが私のサンプルコードです:

function MYMODULE_form_alter($form, &$form_state, $form_id) {
  global $user;

  switch ($form_id) {
    case 'commerce_checkout_form_checkout':
      // Rename the button for example.
      $form['buttons']['continue']['#value'] = t('Overridden value');
      break;
  }
}

チェックアウト時に表示されるフィールドを編集するにはどうすればよいですか?
他に使用すべきフックはありますか?

ありがとう!

5
Aram Boyajyan

私はあなたが探していると思います commerce_checkout_form()commerce_checkout_form_checkoutは、Commerceのコードを手探りで確認できる限り存在しません)。

function MYMODULE_form_commerce_checkout_form_alter($form, &$form_state, $form_id) {
  ...
}

または

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'commerce_checkout_form':
      ...
    break;
}
5
Clive

Form_alterを使用して、コマースチェックアウトページの送信ボタンの値をカスタマイズします。

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'commerce_checkout_form_checkout':
      if (isset($form['buttons']['continue']['#value'])) {
        $form['buttons']['continue']['#value'] = t('Overridden value');
      } 
      break;
  }
}
1
Shamily