diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-06-18 21:19:02 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-06-18 21:19:02 +0000 |
commit | 4d202669af4d2cc64244d70fe064aef6c50c1b23 (patch) | |
tree | 4918e7f5c8c3c1ee8246131ae9eb413ab33d7aef /modules/user | |
parent | 19d10a4e908810a53db4a08ed386c4cf1be935f1 (diff) | |
download | brdo-4d202669af4d2cc64244d70fe064aef6c50c1b23.tar.gz brdo-4d202669af4d2cc64244d70fe064aef6c50c1b23.tar.bz2 |
#455844 by yched, JohnAlbin, moshe weitzman, Frando, et al: Allow more granular theming of drupal_render()ed elements.
Diffstat (limited to 'modules/user')
-rw-r--r-- | modules/user/user-profile.tpl.php | 34 | ||||
-rw-r--r-- | modules/user/user.pages.inc | 13 |
2 files changed, 11 insertions, 36 deletions
diff --git a/modules/user/user-profile.tpl.php b/modules/user/user-profile.tpl.php index 809b4c0f7..56cc72996 100644 --- a/modules/user/user-profile.tpl.php +++ b/modules/user/user-profile.tpl.php @@ -8,27 +8,13 @@ * This template is used when viewing a registered member's profile page, * e.g., example.com/user/123. 123 being the users ID. * - * By default, all user profile data is printed out with the $user_profile - * variable. If there is a need to break it up you can use $profile instead. - * It is keyed to the name of each category or other data attached to the - * account. If it is a category it will contain all the profile items. By - * default $profile['summary'] is provided which contains data on the user's - * history. Other data can be included by modules. $profile['user_picture'] is - * available by default showing the account picture. - * - * Also keep in mind that profile items and their categories can be defined by - * site administrators. They are also available within $profile. For example, - * if a site is configured with a category of "contact" with - * fields for of addresses, phone numbers and other related info, then doing a - * straight print of $profile['contact'] will output everything in the - * category. This is useful for altering source order and adding custom - * markup for the group. - * - * To check for all available data within $profile, use the code below. - * - * @code - * print '<pre>'. check_plain(print_r($profile, 1)) .'</pre>'; - * @endcode + * Use render($user_profile) to print all profile items, or print a subset + * such as render($content['field_example']). Always call render($user_profile) + * at the end in order to print all remaining items. If the item is a category, + * it will contain all its profile items. By default, $user_profile['summary'] + * is provided which contains data on the user's history. Other data can be + * included by modules. $user_profile['user_picture'] is available + * for showing the account picture. * * @see user-profile-category.tpl.php * Where the html is handled for the group. @@ -36,14 +22,12 @@ * Where the html is handled for each item in the group. * * Available variables: - * - $user_profile: All user profile data. Ready for print. - * - $profile: Keyed array of profile categories and their items or other data - * provided by modules. + * - $user_profile: An array of profile items. Use render() to print them. * - TODO D7 : document $FIELD_NAME_rendered variables. * * @see template_preprocess_user_profile() */ ?> <div class="profile"> - <?php print $user_profile; ?> + <?php print render($user_profile); ?> </div> diff --git a/modules/user/user.pages.inc b/modules/user/user.pages.inc index 2547b7bc8..07ad31dce 100644 --- a/modules/user/user.pages.inc +++ b/modules/user/user.pages.inc @@ -185,20 +185,11 @@ function user_view($account) { * The $variables array contains the following arguments: * - $account * - * @see user-picture.tpl.php + * @see user-profile.tpl.php */ function template_preprocess_user_profile(&$variables) { $account = $variables['elements']['#account']; - - $variables['profile'] = array(); - // Sort sections by weight - uasort($account->content, 'element_sort'); - // Provide keyed variables so themers can print each section independently. - foreach (element_children($account->content) as $key) { - $variables['profile'][$key] = drupal_render($account->content[$key]); - } - // Collect all profiles to make it easier to print all items at once. - $variables['user_profile'] = implode($variables['profile']); + $variables['user_profile'] = $account->content; // Add $FIELD_NAME_rendered variables for fields. $variables += field_attach_preprocess('user', $account); |