0

我想知道如何覆盖/更改用户配置文件中的默认字段,例如:按钮保存、名称、时区等。我想更改、删除(因为我不需要它们)其中一些。要更改用户配置文件,我使用了钩子:hook_form_alter 使用它我设法将自己的字段添加到用户配置文件中。但现在我想更改默认字段。我该怎么做?

4

1 回答 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!)。

API:hook_form_FORM_ID_alter

于 2011-08-14T18:55:22.357 回答