如何在Drupal中交换textfield及其标签

时间:2011-07-05 18:34:32

标签: drupal

我正在使用drupal_render()来呈现表单。默认情况下,它会呈现标签,然后呈现文本字段。如何更改此项以便首先显示文本字段?

3 个答案:

答案 0 :(得分:1)

通常,您会在主题图层处理这种覆盖。要找出生成相关输出的函数或文件,可以使用Theme Developer模块。然后是override as needed

答案 1 :(得分:1)

您可以覆盖Drupal 7中的field.tpl.php并更改$ label的位置。

答案 2 :(得分:1)

Drupal 6 中: 您可以实现hook_form_alter()并为您要修改的任何元素的 #theme 属性分配自定义函数。然后当Drupal想要渲染该元素时,它将调用你的函数,而不是theme_form_element()。

或者您可以通过将theme_form_element()功能复制到 template.php 重命名 mytheme _form_element来覆盖{{3}}功能( )。然后,您可以完全修改表单元素的呈现方式。请注意,所有表单元素都是通过它呈现的,因此您需要检查$ element ['#name'],以便只覆盖所需的特定元素的输出(和这就是为什么做一个hook_form_alter()是一种“更清洁”的方法来做到这一点。)

当你的主题修改似乎没有做任何事情时,不要忘记清理缓存!产品:>