web-dev-qa-db-ja.com

WebformのフォームIDをオーバーライドする方法は?

Drupal 7.でwebformのform_idをオーバーライドしたい。たとえば、私のWebformフォームIDがwebform_141で、webform_enまたはwebform_ukにオーバーライドしたい。

出来ますか?

:多言語サイトの場合は上書きする必要があります。

2

hook_form_alter を使用して次のように簡単に実行し、次のコードをtemplate.phpファイルに貼り付け、キャッシュを保存してクリアします。コード内のthemeNameでTHEMEを変更するか、またはコスチュームモジュールで、モジュール名で行う場合。

あなたの場合、コードは

function THEME_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'webform_141') {
    $form['#id'] = 'webform_en';
  }
}
2
CodeNext

hook_form_alter を使用できます。

例えば:


/**
 * Implement hook_from_alter
 * 
 * @param type $form
 * @param type $form_state
 * @param type $form_id
 */
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
   $form['#form_id']='webform_en';
}
1
vijay
/**
 * Implement hook_from_alter
 * 
 * @param type $form
 * @param type $form_state
 * @param type $form_id`enter code here`
 */
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {                                           
   if($form_id == 'webform_141'){
    $form['#form_id'] = 'webform_en';
    $form['#form_id'] = 'webform-en';
    $form['form_id']['#value'] = 'webform_en';
    $form['form_id']['#id'] = 'webform_en';
   }
}
1