修改Drupal在每个表单的基础上构建字段的方式

时间:2014-09-05 23:42:24

标签: php forms drupal drupal-7 drupal-forms

我想改变Drupal在我的网站上的特定节点编辑/添加表单上构建特定字段的方式。例如,当我使用print drupal_render($ form [' textarea']);在我的节点 - CONTENTTYPE - form.tpl.php文件中,我得到了字段小部件的默认Drupal渲染。我想修改字段小部件的HTML标记。

我可以想到三种可以解决这个问题的方法:

  1. 使用与theme_field()挂钩相同的表单。这看起来很理想,但在搜索了最后几个小时之后,我还没有找到任何相关信息。

  2. 为我在该节点上使用的每种字段类型构建自定义字段小部件。这绝对不是理想的,我必须相信从主题的角度来看,在Drupal中这是一个简单的方法。

  3. 使用print $ form [' textarea'] [' und&#39>手动为节点 - CONTENTTYPE - form.tpl.php中的表单和字段构建HTML标记] [0] ['标题'];等等。

  4. Drupal中是否有钩子来执行此操作,或者是否必须手动生成我想要修改的每个字段的代码?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的钩子是hook_form_alterhook_form_BASE_FORM_ID_alter。请参阅Form API以了解您可以在渲染阵列上设置的内容。