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

Главные вкладки

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

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

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

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

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

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

Комментарии

Аватар пользователя EllECTRONC EllECTRONC 10 января 2009 в 1:30

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

Аватар пользователя Pawell Pawell 10 января 2009 в 15:21

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

Аватар пользователя neochief neochief 10 января 2009 в 17:26

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

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

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

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

Аватар пользователя mapcuk mapcuk 26 ноября 2009 в 14:39

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

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

Аватар пользователя Pawell Pawell 10 января 2009 в 19:08

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

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

Аватар пользователя WildSW WildSW 23 апреля 2010 в 4:23

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

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

Аватар пользователя Bazel Bazel 10 января 2011 в 13:54

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

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

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

Аватар пользователя вOFFка вOFFка 17 января 2011 в 10:52

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

Аватар пользователя dima_berd dima_berd 9 июня 2011 в 11:23

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

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

Аватар пользователя dima_berd dima_berd 9 июня 2011 в 11:41

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

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

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

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

Аватар пользователя greenzlat greenzlat 9 ноября 2012 в 9:32

У меня не работает почему-то эта фишка. Вставил функцию в 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;
}
?>

Аватар пользователя kodolka kodolka 23 октября 2013 в 17:15

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

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