私はコマースを使用しており、特定のフィールドを事前に入力して非表示にするために、カスタムモジュールのチェックアウトフォームを変更したいと考えています。
ただし、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;
}
}
チェックアウト時に表示されるフィールドを編集するにはどうすればよいですか?
他に使用すべきフックはありますか?
ありがとう!
私はあなたが探していると思います 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;
}
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;
}
}