How to display user's fullname in Drupal
By default, Drupal will have only username and password for such a user. Whenever username is displayed, it will try to call a theme funtion namely username
by specified $node
. If you want to display user's fullname instead, you have to customize a little bit.
- Enable profile module.
- Add text field fullname.
- Add
phptemplate_username
as follow totemplate.php
.
function phptemplate_username($object) { if ($object->uid && $object->name) { // Shorten the name when it is too long or it will break many tables. if (drupal_strlen($object->name) > 20) { $name = drupal_substr($object->name, 0, 15) .'...'; } else { $name = $object->name; } $profile = user_load(array('uid' => $object->uid)); if ($profile->fullname) { if (drupal_strlen($profile->fullname) > 20) { $name = drupal_substr($profile->fullname, 0, 15) .'...'; } else { $name = $profile->fullname; } } if (user_access('access user profiles')) { $output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.'))); } else { $output = check_plain($name); } } else if ($object->name) { // Sometimes modules display content composed by people who are // not registered members of the site (e.g. mailing list or news // aggregator modules). This clause enables modules to display // the true author of the content. if ($object->homepage) { $output = l($object->name, $object->homepage); } else { $output = check_plain($object->name); } $output .= ' ('. t('not verified') .')'; } else { $output = variable_get('anonymous', t('Anonymous')); } return $output; }
Tags: drupal
- sugree's blog
- 6039 reads
Post new comment