当用户登录时,用户将重定向到用户个人资料页面,该页面设置了我的帐户字段。
字段集有2个字段,“用户名:”,“电子邮件地址:”。这两个字段是由drupal生成的。
包含在具有id(“user_profile_form”)的表单中的那2个字段。我想改变这两个字段的顺序。
我试图拦截hook_form_alter中的'user_profile_form'。
代码如下:
$form['account']['name']['#weight'] = 1;
但是没有成功,drupal甚至没有呈现'name'字段,所以没有用户名:在浏览器上显示。
答案 0 :(得分:2)
你所做的是绝对正确的,并且可能确实有效。您可以使用上述方法更改字段的权重。
并不总是呈现用户名字段。原因是需要延期:change own username
。如果未设置该烫发,则不允许更改您的用户名,并且该字段不会显示。
有关调试的信息。
仅凭您的信息调试还不够。根据您的描述,您正在做正确的事情,但其他模块可能会使您的事情变得有点棘手。在调试时,devel模块非常好,ti定义了我在调试时经常使用的两个函数:
我建议您在更改之前和之后查看$form
变量。
可能导致错误的事情:
$form
表示法通过引用传递&
变量?这些是一些指针,在你带来更多信息之前,我能做的就是猜测你的问题究竟是什么。我几天前做过这样的事情所以我知道你描述的不应该是一个问题。