Dobrý den,
Jak Drupal nastavit aby mně u článku zobrazoval skutečné jméno uživatele.
Momentálně mám zapnuty moduly Profily a One page profile. Přidal jsem si poličko pro zadávaní skutečného jména {v nastavení uživatele - profily}nastavil jsem mu váhu 1. Políčko se mi zobrazuje v profilu, mam ho i vyplněné ale i přesto se mi nezobrazuje skutečné jméno u článku.
Pole v profilu se jménem u článku nesouvisí. Musíte Drupalu nějak sdělit, že chcete aby políčko z profilu použil pro zobrazení jména autora. třeba tímto v template.php ve složce se šablonou. Pole profile_fullname si přepište podle názvu svého políčka v profilu:
{syntaxhighlighter brush=php}
function phptemplate_username($object, $link = TRUE) {
if ( !$object->profile_fullname ) {
if ( $object->uid && function_exists('profile_load_profile') ) {
profile_load_profile($object);
}
}
if ( $object->profile_fullname ) {
$name = $object->profile_fullname;
if ( $link && user_access('access user profiles')) {
return l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
}
else {
return check_plain($name);
}
}
// Profile field not set, default to standard behaviour
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;
}
if ( $link && 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', 'Anonymous');
}
return $output;
}
{/syntaxhighlighter}