1 user.module user_view($account, $view_mode = 'full', $langcode = NULL)

Generate an array for rendering the given user.

When viewing a user profile, the $page array contains:

  • $page['content']['user_picture']: User's rendered picture.
  • $page['content']['member_for']: Contains the default "Member for" profile data for a user.
  • $page['content']['#account']: The user account of the profile being viewed.

To theme user profiles, copy modules/user/user-profile.tpl.php to your theme directory, and edit it as instructed in that file's comments.


$account: A user object.

$view_mode: (optional) Display mode, e.g. 'full' or 'teaser'. Defaults to 'full'.

$langcode: (optional) A language code to use for rendering. Defaults to the global content language of the current request.

Return value

An array as expected by backdrop_render().:


core/modules/user/user.module, line 2252
Enables the user registration and login system.


function user_view($account, $view_mode = 'full', $langcode = NULL) {
  if (!isset($langcode)) {
    $langcode = $GLOBALS['language_content']->langcode;

  // Retrieve all profile fields and attach to $account->content.
  user_build_content($account, $view_mode, $langcode);

  $build = $account->content;
  // We don't need duplicate rendering info in account->content.

  $build += array(
    '#theme' => 'user_profile__' . $view_mode,
    '#account' => $account,
    '#view_mode' => $view_mode,
    '#language' => $langcode,

  // Allow modules to modify the structured user.
  $type = 'user';
  backdrop_alter(array('user_view', 'entity_view'), $build, $type);

  return $build;