function hook_user_categories in Drupal 7
Define a list of user settings or profile information categories.
There are two steps to using hook_user_categories():
- Create the category with hook_user_categories().
- Display that category on the form ID of "user_profile_form" with hook_form_FORM_ID_alter().
Step one builds out the category but it won't be visible on your form until you explicitly tell it to do so.
The function in step two should contain the following code in order to display your new category:
if ($form['#user_category'] == 'mycategory') {
// Return your form here.
}
Return value
An array of associative arrays. Each inner array has elements:
- "name": The internal name of the category.
- "title": The human-readable, localized name of the category.
- "weight": An integer specifying the category's sort ordering.
- "access callback": Name of the access callback function to use to determine whether the user can edit the category. Defaults to using user_edit_access(). See hook_menu() for more information on access callbacks.
- "access arguments": Arguments for the access callback function. Defaults to array(1).
Related topics
2 functions implement hook_user_categories()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- profile_user_categories in modules/
profile/ profile.module - Implements hook_user_categories().
- user_user_categories in modules/
user/ user.module - Implements hook_user_categories().
1 invocation of hook_user_categories()
- _user_categories in modules/
user/ user.module - Retrieve a list of all user setting/information categories and sort them by weight.
File
- modules/
user/ user.api.php, line 216 - Hooks provided by the User module.
Code
function hook_user_categories() {
return array(
array(
'name' => 'account',
'title' => t('Account settings'),
'weight' => 1,
),
);
}