Drupal 7.でwebformのform_idをオーバーライドしたい。たとえば、私のWebformフォームIDがwebform_141
で、webform_en
またはwebform_uk
にオーバーライドしたい。
出来ますか?
注:多言語サイトの場合は上書きする必要があります。
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';
}
}
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';
}
/**
* 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';
}
}