我正在使用drupal_render()
来呈现表单。默认情况下,它会呈现标签,然后呈现文本字段。如何更改此项以便首先显示文本字段?
答案 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()是一种“更清洁”的方法来做到这一点。)
当你的主题修改似乎没有做任何事情时,不要忘记清理缓存!产品:>