На счет управления комментариями

10 января 2009 в 1:05
Аватар пользователя Pawell Pawell 0 23

Настроил комментарии таким образом, чтобы можно было оставлять имя без регистрации на сайте, которую я по сути закрыл.
При добавлении комментов каким либо пользователем вот что выдает:

Опубликовано ******** (не проверено) в Вс, 01/04/2009 - 20:34.

**** = имя пользователя, которое он ввел

Где и что надо сделать, чтобы "проверить" пользователя, чтобы надпись "(не проверено)" исчезла?
Какая проверка вообще предполагается?

Рыл, рыл, но не нашел, что надо делать.

Комментарии

Главная » Управление » Управление пользователями
модуль comment
Стоят галочки напротив » размещать комментарии без проверки?

10 января 2009 в 1:30

помогло, но первый раз перепугался, чего то решил что надо вместе с $output .= ' ('. t('not verified') .')'; еще и значек } удалить, так вообще все перестало работать. Вернул значок и все ок.
Спасибо!

10 января 2009 в 15:21

"Vergilius" wrote:
В файле theme.inc найди строчку

Один из вредительских советов Wink

Правильное решение:

Копируем всю функцию theme_username в файл template.php своей темы. Называем функцию phptemplate_username, меняем в ней что хотели. После чего заходим "Настройки сайта" - "Производительность" и очищаем кеш (там внизу кнопка). Опосля этого, все должно работать. Теперь, при обновлении системы вы не потеряете свои изменения. Ядро — НЕПРИКАСАЕМОЕ!

10 января 2009 в 17:26

Респект тебе Wink
Помогло.

Но всё-таки почему же эта напись "не проверено" остётся даже тогда когда комментарий подтверждён модератором?

26 ноября 2009 в 14:39

"neochief" wrote:
Называем функцию phptemplate_username, меняем в ней что хотели.

а подробнее про "называем фукнцию" можно? как это делается?

10 января 2009 в 19:08

Сталкивался с подобным у себя на сайте, и от нежелания где либо ковыряться, нашел елегантное решение Smile

Через перевод интерфейса значит, заменил запись "не проверено" на "гость", получилась как бы метка о том что этот комментарий написал не зарегистрированный на сайте пользователь.

23 апреля 2010 в 4:23

в Drupal 7 лучше всего использовать template_preprocess_username(&$variables):

function MYTHEME_preprocess_username(&$variables) {
  $variables['extra'] = '';
}

Потом не забыть очистить кэш.

10 января 2011 в 13:54

В D7 достаточно просто зайти в настройки темы и убрать галку в пункте "Статус проверки пользователя в комментариях".

17 января 2011 в 10:52

"Vergilius" wrote:
:) А ядро все время меняю. Меньше ресурсов жрет. Только пару часиков на апдейт новой версии уходит.

Если удалить эту строчку, слетит картиночная капча с формы комментариев =)))
У меня по крайней мере слетела. Лучше лишний раз не трогать ядро. И смысл, все эти функции можно переопределить в теме, и ни о чем не волноваться.

9 июня 2011 в 11:23

"neochief" wrote:
копировать как я говорил, вставить, стереть название "theme_username", напечатать "phptemplate_username"

Человек прав, его совет работает. У самого сейчас возникла такая проблема.

1. В файле theme.inc ищешь функцию theme_username
2. Копируешь ее в template.php своей темы.
3. Уже от туда удаляешь: $output .= ' ('. t('not verified') .')';
4. Чистишь кеш, радуешься.

Удаление этой строки из theme.inc у меня лично, привело к жирным бгам .

9 июня 2011 в 11:41

У меня не работает почему-то эта фишка. Вставил функцию в template.php, назвал функцию: phptemplate_username. Чищу кэш и ничего не изменятется...

Вот как функция выглядит в template.php:

<?phpfunction 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);
    }

  }
  else {
    $output = check_plain(variable_get('anonymous', t('Anonymous')));
  }

  return $output;
}
?>

9 ноября 2012 в 9:32

"вOFFка" wrote:
В D7 достаточно просто зайти в настройки темы и убрать галку в пункте "Статус проверки пользователя в комментариях".

Отличный вариант и по моему самый лучший.

23 октября 2013 в 17:15