我想知道如何覆盖/更改用户个人资料中的默认字段,例如:按钮保存,名称,时区等。
我想改变,删除(因为我不需要它们)其中一些。
要更改用户配置文件,我使用钩子:hook_form_alter
使用它我设法将我自己的fieldds添加到用户配置文件。但现在我想改变默认字段。我该怎么办?
答案 0 :(得分:3)
可以使用hook_form_alter
,但最好使用hook_form_FORM_ID_alter
!
为了能够改变表格,你需要知道数组的结构,最简单的方法是通过安装Devel模块。然后,您可以通过将dpm($form);
放在alter function中来查看结构。
您可以在自定义模块或主题(template.php
文件中)中使用此功能。
通常用户个人资料form_id是user_profile_form
。一个简单的例子是:
function mymodule_form_user_profile_form_alter(&$form,$form_state,$form_id){
$form['timezone']['#access'] = FALSE; //remove the "timezone" field from the form (default value is still saved)
$form['field_somefield']['#weight'] = -50; //move the field up
$form['actions']['submit']['#value'] = t('Add this content now'); //change the submit button text
}
有关一个好的教程,请参阅Lullabot教程here(适用于drupal 6,但d7的工作方式相同!)。