Как увеличить длину отображаемого имя пользователя?

Аватар пользователя uroweb uroweb 24 июля 2008 в 9:00

Если длина имени пользователя превышает 18 знаков Drupal (версия 6) при отображении этого имени обрезает его и ставит многоточие "...". Например, если пользователь зарегистрировался как "Иванов Иван Иванович" (при этом в базе записано именно такое имя), то его имя в авторстве при создании материалов (узлов) будет отображаться как "Иванов Иван Ив...". Очень уж это не эстетично.

Подскажите, пожалуйста, где можно убрать ограничение на длину отображения имени пользователя?

0 Thanks

Комментарии

Аватар пользователя olk olk 24 июля 2008 в 9:32

в своей теме (в файле 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;
}
?>
Аватар пользователя uroweb uroweb 24 июля 2008 в 10:23

Просто гениально! Все работает. Пришлось только очистить кеш данных.

Огромное спасибо!