我想通过创建自定义模块来覆盖表单。但是,我需要在函数中保留我的表单ID。
Drupal.org提到了hook_form_FORM_ID_alter(&$form, &$form_state, $form_id)
函数,但是当我将它应用于我的表单时,它没有响应。使用以下语句时是否有语法错误?:
function redactie_omgeving_fiche_node_form__form_alter(&$form, $form_state, $form_id) {
echo(var_dump('ONZE redactie_omgeving__fiche_node_form__form_alter'));
}
这是我的表格:
<form class="node-form node-fiche-form" enctype="multipart/form-data" action="/node/1/edit" method="post" id="fiche-node-form" accept-charset="UTF-8">
答案 0 :(得分:6)
确保您拥有正确的表单ID的一个不错的小技巧是首先使用hook_form_alter()获取表单ID,然后使用hook_form_FORM_ID_alter()。例如,使用:
function YOURMODULE_form_alter(&$form, &$form_state, $form_id) {
drupal_set_message($form_id);
}
在当前页面上查看所有表单ID的Drupal消息。获得正确的ID后,请将其放入hook_form_FORM_ID_alter()
。试试这个并确保使用正确的表单ID。