在我的表单上申请form_hook

时间:2011-12-14 10:54:00

标签: drupal hook

如果挂钩被调用hook_field_settings_form($field, $instance, $has_data),我的模块被称为mymodule。如何在表格上使用此挂钩?
我猜是mymodule_field_settings_form($field, $instance, $has_data)。但它是表单中的地址字段(<div class="myformclass" id="myformid">)。如何将此功能仅应用于我的地址栏?

修改
我在这里想要实现的是以下内容。我有一个创建内容页面,在此页面中,您可以填写一个地址。我想要在这个地址的某些字段需要,有些不是必需的。所以我想通了,我需要hook_field_settings_form - 钩子......对吧?

2 个答案:

答案 0 :(得分:3)

你可以使用hook_form_alter

我自己使用它来使标题字段不需要,因为我不希望它可见。 重要的是使用if语句,否则它将尝试更改您加载的每个表单。我不知道你有什么drupal版本,但这是drupal 7,即使其他版本非常相似。

/**
 * 
 * Form Alter Widget
 * 
 */
 function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if($form_id == 'myformid') {
    $form['title']['#required'] = false;
  }
}

答案 1 :(得分:1)

我认为你的意思是hook_form_FORMID_alter。请注意,表单ID位于表单和alter之间。