Настроил комментарии таким образом, чтобы можно было оставлять имя без регистрации на сайте, которую я по сути закрыл.
При добавлении комментов каким либо пользователем вот что выдает:
Опубликовано ******** (не проверено) в Вс, 01/04/2009 - 20:34.
**** = имя пользователя, которое он ввел
Где и что надо сделать, чтобы "проверить" пользователя, чтобы надпись "(не проверено)" исчезла?
Какая проверка вообще предполагается?
Рыл, рыл, но не нашел, что надо делать.
Комментарии
Главная » Управление » Управление пользователями
модуль comment
Стоят галочки напротив » размещать комментарии без проверки?
Стоят
В файле theme.inc найди строчку:
$output .= ' ('. t('not verified') .')';
и удали ее.
помогло, но первый раз перепугался, чего то решил что надо вместе с $output .= ' ('. t('not verified') .')'; еще и значек } удалить, так вообще все перестало работать. Вернул значок и все ок.
Спасибо!
Один из вредительских советов
Правильное решение:
Копируем всю функцию theme_username в файл template.php своей темы. Называем функцию phptemplate_username, меняем в ней что хотели. После чего заходим "Настройки сайта" - "Производительность" и очищаем кеш (там внизу кнопка). Опосля этого, все должно работать. Теперь, при обновлении системы вы не потеряете свои изменения. Ядро — НЕПРИКАСАЕМОЕ!
Респект тебе
Помогло.
Но всё-таки почему же эта напись "не проверено" остётся даже тогда когда комментарий подтверждён модератором?
А ядро все время меняю. Меньше ресурсов жрет. Только пару часиков на апдейт новой версии уходит.
Насколько меньше?
а подробнее про "называем фукнцию" можно? как это делается?
копировать как я говорил, вставить, стереть название "theme_username", напечатать "phptemplate_username"
А нельзя как-то проверить? Или это баг, который нужно лечить только ковыряясь в коде?
Что проверить? Это не баг, это фича. Но многим она не нужна. Я описал решение.
Видимо имя "не проверено" имеется введу
Сталкивался с подобным у себя на сайте, и от нежелания где либо ковыряться, нашел елегантное решение
Через перевод интерфейса значит, заменил запись "не проверено" на "гость", получилась как бы метка о том что этот комментарий написал не зарегистрированный на сайте пользователь.
WildSW, отличная идея. Это действительно классно придумано.
и где этот перевод интерфейса искать?
в modules/comments/translation нету "не проверено"
в Drupal 7 лучше всего использовать template_preprocess_username(&$variables):
$variables['extra'] = '';
}
Потом не забыть очистить кэш.
В D7 достаточно просто зайти в настройки темы и убрать галку в пункте "Статус проверки пользователя в комментариях".
Если удалить эту строчку, слетит картиночная капча с формы комментариев =)))
У меня по крайней мере слетела. Лучше лишний раз не трогать ядро. И смысл, все эти функции можно переопределить в теме, и ни о чем не волноваться.
Человек прав, его совет работает. У самого сейчас возникла такая проблема.
1. В файле theme.inc ищешь функцию theme_username
2. Копируешь ее в template.php своей темы.
3. Уже от туда удаляешь: $output .= ' ('. t('not verified') .')';
4. Чистишь кеш, радуешься.
Удаление этой строки из theme.inc у меня лично, привело к жирным бгам .
У меня не работает почему-то эта фишка. Вставил функцию в 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;
}
?>
Отличный вариант и по моему самый лучший.