更改user_profile_form表单字段顺序

时间:2009-12-14 23:54:19

标签: drupal drupal-6

当用户登录时,用户将重定向到用户个人资料页面,该页面设置了我的帐户字段。

字段集有2个字段,“用户名:”,“电子邮件地址:”。这两个字段是由drupal生成的。

包含在具有id(“user_profile_form”)的表单中的那2个字段。我想改变这两个字段的顺序。

我试图拦截hook_form_alter中的'user_profile_form'。 代码如下: $form['account']['name']['#weight'] = 1;

但是没有成功,drupal甚至没有呈现'name'字段,所以没有用户名:在浏览器上显示。

1 个答案:

答案 0 :(得分:2)

你所做的是绝对正确的,并且可能确实有效。您可以使用上述方法更改字段的权重。

并不总是呈现用户名字段。原因是需要延期:change own username。如果未设置该烫发,则不允许更改您的用户名,并且该字段不会显示。

有关调试的信息。
仅凭您的信息调试还不够。根据您的描述,您正在做正确的事情,但其他模块可能会使您的事情变得有点棘手。在调试时,devel模块非常好,ti定义了我在调试时经常使用的两个函数:

  • dpm()使用krumo将变量打印到消息区域。
  • dd()将变量打印/保存到日志文件中。当您无法在屏幕上查看消息时很有用。

我建议您在更改之前和之后查看$form变量。

可能导致错误的事情:

  • 您是否记得使用$form表示法通过引用传递&变量?
  • 是否有另一个模块改变了你的表格?
  • 您是否正在检查正确的表单ID,以便更改正确的表单?

这些是一些指针,在你带来更多信息之前,我能做的就是猜测你的问题究竟是什么。我几天前做过这样的事情所以我知道你描述的不应该是一个问题。