我想通过创建自定义模块来覆盖表单.但是,我需要在函数中保留我的表单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)
确保您拥有正确的表单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.
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |