Drupal: удаляем фразу "не проверено" в комментариях

31.05.2009

В CMS Drupal нередко можно встретить такие мелочи, которые вызывают настоящий ступор и полное непонимание из-за своей нелогичности. Одним из таких примеров является фраза "не проверено", которая добавляется ко всем комментариям анонимных пользователей. В этом материале мы предложим вариант навсегда избавиться от этой фразы.

Комментарии в CMS Drupal легко настраиваются. В частности, путем правильного наделения правами пользователей, можно полностью снять премодерацию комментариев анонимов. Но даже в этом случае, система все комментарии анонимов будет выделять фразой "не проверено", что явно является лишним.

Чтобы навсегда убрать эту фразу из комментариев, надо в файл template.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;
    }
    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) {
    // 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 (!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;
}

Для удаления фразы, как видно из кода, нужно просто закомментировать одну пресловутую строку:

//   $output .= ' ('. t('not verified') .')';

Добавить в блог:

Для вставки в блог анонса данной статьи, скопируйте нижеприведенный код.

Комментарии (1)

Гениально!!! второй день не могла решить проблему!!! спасибо!