我想知道如何覆盖/更改用户配置文件中的默认字段,例如:按钮保存、名称、时区等。我想更改、删除(因为我不需要它们)其中一些。要更改用户配置文件,我使用了钩子:hook_form_alter
使用它我设法将自己的字段添加到用户配置文件中。但现在我想更改默认字段。我该怎么做?
问问题
7224 次
1 回答
3
可以使用hook_form_alter
,但最好使用hook_form_FORM_ID_alter
!
为了能够更改您需要了解数组结构的形式,了解这一点的最简单方法是安装 Devel 模块。然后您可以通过放置dpm($form);
在您的 alter 函数中来查看结构。
您可以在自定义模块或主题中(在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 教程(适用于 drupal 6,但适用于 d7!)。
于 2011-08-14T18:55:22.357 回答