Drupal中的hook_form_FORM_ID_alter函数

Mic*_*iel 1 forms drupal

我想通过创建自定义模块来覆盖表单.但是,我需要在函数中保留我的表单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'));
}
Run Code Online (Sandbox Code Playgroud)

这是我的形式:

<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">
Run Code Online (Sandbox Code Playgroud)

Lax*_*n13 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);
}
Run Code Online (Sandbox Code Playgroud)

在当前页面上查看所有表单ID的Drupal消息.获得正确的ID后,将其放入hook_form_FORM_ID_alter().试试这个并确保使用正确的表单ID.