Если длина имени пользователя превышает 18 знаков Drupal (версия 6) при отображении этого имени обрезает его и ставит многоточие "...". Например, если пользователь зарегистрировался как "Иванов Иван Иванович" (при этом в базе записано именно такое имя), то его имя в авторстве при создании материалов (узлов) будет отображаться как "Иванов Иван Ив...". Очень уж это не эстетично.
Подскажите, пожалуйста, где можно убрать ограничение на длину отображения имени пользователя?
Комментарии
в своей теме (в файле template.php) перекрыть хук username, например так
<?php
function ваша-тема_username($object) {
if ($object->uid && $object->name) {
// тут было обрезание :) уберем
// if (drupal_strlen($object->name) > 20) {
// $name = drupal_substr($object->name, 0, 15) . '...';
// }
// else {
$name = $object->name;
// }
if (user_access('access user profiles')) {
$output = l($name, 'user/' . $object->uid, array('attributes' => array('title' => t('View user profile.'))));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
/*
* Для анонимоусов ставим атрибут для ссылки на homeoage rel=nofollow
*/
if (!empty($object->homepage)) {
$output = l($object->name, $object->homepage, array('attributes' => array('rel' => 'nofollow')));
}
else {
$output = check_plain($object->name);
}
$output .= ' (' . t('not verified') . ')';
}
else {
$output = variable_get('anonymous', t('Anonymous'));
}
return $output;
}
?>
Интересно, а если юзер без пробелов зарегиться
вот косячить начнет (форум):)
Просто гениально! Все работает. Пришлось только очистить кеш данных.
Огромное спасибо!
извиняюсь что поднимаю старую тему, но
что лучше использовать? выше приведенный вариант или этот
http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_usern...
?
не пойму зачем nofollow разве у анонимусов есть профиль?
разобрался
http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_usern...
вот оригинал