Убрать ограничение в имени пользователя Drupal 7

Если вы добавляете длинные имена пользователей в Drupal, то он автоматически ограничивает это имя в выводе views 15ю символами с тремя точками в конце.
Чтобы убрать это ограничение нам нужно сделать хук. Берем функцию template_preprocess_username и переносим в template.php нашей темы в следующем виде:

function ИМЯ_ТЕМЫ_preprocess_username(&$variables) {
  $account = $variables['account'];

  $variables['extra'] = '';
  if (empty($account->uid)) {
   $variables['uid'] = 0;
   if (theme_get_setting('toggle_comment_user_verification')) {
     $variables['extra'] = ' (' . t('not verified') . ')';
   }
  }
  else {
    $variables['uid'] = (int) $account->uid;
  }
  $name = $variables['name_raw'] = format_username($account);
  if (drupal_strlen($name) > 20) {
    $name = drupal_substr($name, 0, 40);
  }
  $variables['name'] = check_plain($name);

  $variables['profile_access'] = user_access('access user profiles');
  $variables['link_attributes'] = array();
  if ($variables['uid'] && $variables['profile_access']) {
    $variables['link_attributes'] = array('title' => t('View user profile.'));
    $variables['link_path'] = 'user/' . $variables['uid'];
  }
  elseif (!empty($account->homepage)) {
    $variables['link_attributes'] = array('rel' => array('nofollow'));
    $variables['link_path'] = $account->homepage;
    $variables['homepage'] = $account->homepage;
  }
  $variables['link_options']['html'] = TRUE;
  $variables['attributes_array'] = array('class' => array('username'));
}


В этом коде заменено стандартное ограничение 15 символами на 40.

if (drupal_strlen($name) > 20) {
    $name = drupal_substr($name, 0, 40);
  }
Stewie / 7 августа 2017, 21:08
0

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.