234 0 Опубликовано: 21 января 2007 Рассказать Опубликовано: 21 января 2007 Как сделать коменты как на capa.ru заранее большое спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 27 января 2007 Рассказать Опубликовано: 27 января 2007 Очень хочется сделать такие же каменты,т.е со счётчиком напишите пожалуйста как это можно сделать! Если это реально,то напишите пожалуйста Цитата Ссылка на сообщение Поделиться на других сайтах
LocalHost 0 Опубликовано: 27 января 2007 Рассказать Опубликовано: 27 января 2007 За денежку сделаю Цитата Ссылка на сообщение Поделиться на других сайтах
ShmaToK 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 За денежку сделаю я за денежку тоже могу Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Напишите пожалуйста цену! Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 для того чтобы выводилось кол-во ком-ев, юзай поиск, а рейтинг как сделать никто не знает.. или не хочет.. Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Нужен именно рейтинг в зависимости от числа комментов Цитата Ссылка на сообщение Поделиться на других сайтах
ruskix 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Такое некто не напишит... Ибо впадел Цитата Ссылка на сообщение Поделиться на других сайтах
LocalHost 0 Опубликовано: 28 января 2007 Рассказать Опубликовано: 28 января 2007 Я напишу ображайся в асю 285106205 15WMZ даешь то ображайся Цитата Ссылка на сообщение Поделиться на других сайтах
vovik_sumy 0 Опубликовано: 29 января 2007 Рассказать Опубликовано: 29 января 2007 Нужен именно рейтинг в зависимости от числа комментов Работы на 10 мин...) Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 29 января 2007 Рассказать Опубликовано: 29 января 2007 vovik_sumy, можешь помочь сделать? Буду очень благодарен! Цитата Ссылка на сообщение Поделиться на других сайтах
vovik_sumy 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 Сделаю сегодня вечером. Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 vovik_sumy, огромнейшее спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
vovik_sumy 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 (изменено) С помощью этого хака можно добавить количество комментариев каждого зарегестрированного пользователя. Пример смотрите на сайте почти в каждой статье. Приступим! 1. Правим шаблон comments.tpl. Нужно добавить два кода. Это код для количества комментариев и сама картинка(полоса) рейтинга. К примеру так: <img src="{foto}" border="0" /><br /> <img src={THEME}/images/comments.gif border="0" alt="Комментариев" />{comm_num}<br /> <img src="{image_rating}" border="0" alt="Рейтинг" /> Я добавил эти поля под фото. 2. Файл show.full.php Заменить $sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']); на $sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq,comm_num, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']); Далее после if ($row['is_register'] AND $row['signature']) { $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","\\1"); $tpl->set('{signature}', stripslashes($row['signature'])); } else { $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si",""); } дописываем $arr_ratings = array( '{THEME}/images/rank_00.png'=>'0',// Здесь первая это картинка-рейтинг, а второе число это количество комментариев. '{THEME}/images/rank_01.png'=>'2', '{THEME}/images/rank_02.png'=>'4', '{THEME}/images/rank_03.png'=>'6', '{THEME}/images/rank_04.png'=>'8', '{THEME}/images/rank_05.png'=>'10', ); $image_rating = $arr_rating[0]; foreach($arr_ratings as $key=>$value) { if ($row['comm_num']>=$value){$image_rating = $key;} } if (!isset($image_rating)){$image_rating = $arr_ratings[0];} $tpl->set('{image_rating}',$image_rating); if ($row['comm_num']>0){ $tpl->set('{comm_num}',$row['comm_num']); } else $tpl->set('{comm_num}','-'); Не забудьте изменить пути к картинкам ну и загрузить, конечно, их на сервер! :smile: 3. Проверяем работу! Результат работы вы можете видеть например тут счётчик комментариев Удачи! :wink: Изменено 30 января 2007 пользователем vovik_sumy Цитата Ссылка на сообщение Поделиться на других сайтах
El1teGuard 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 У меня на 5.3 не пашет Цитата Ссылка на сообщение Поделиться на других сайтах
TAB 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 vovik_sumy, Огромное спасибо Сейчас буду пробовать) Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 это он написал для версий дле до 52 включительно, на 53 надо изменять запрос в шоу.фул, я не знаю как, но точно знаю что надо копать именно там =) но все-равноvovik_sumy огромное спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
ViRUS 0 Опубликовано: 30 января 2007 Рассказать Опубликовано: 30 января 2007 для версии 5.3 вместо вот этого кода $sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq,comm_num, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']); вставляем вот этот $sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, user_group, comm_num, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']); Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 ViRUS, пасибки, работает забыл, что 04 и 05 не связны, т.е. перепрыгивают через один кубик, сча дорисую =) Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 нашел баг, в последних комментах не пашет Цитата Ссылка на сообщение Поделиться на других сайтах
vovik_sumy 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 Тестировалось на 5,1. Потому не у всех сработало. Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 vovik_sumy, а как-же вот эта _http://www.dle.net.ua/index.php?do=lastcomments страничка? Цитата Ссылка на сообщение Поделиться на других сайтах
El1teGuard 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 Да,в последних комментаиях данная фича не работает,это не есть гуд + еще,у гостей вобще не отображются картинки,хотя на capa.ru они автоматом убираются,если отвечаешь как гость 2-ое - при ответе в комментах с аяксом,счетчик комментов не обновляется,а просто сбивается,т.е отображения ни рейтинга,ни кол-ва комментов,только после обновления все становится нормально...Хорошо бы это доработать конечно,если возможно Цитата Ссылка на сообщение Поделиться на других сайтах
NoBoddy 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 Вобщем, я сделал, открываем файлик ласткомментс ищем if ($userid) { $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid' ORDER BY date desc LIMIT ".$cstart.",".$number; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid'"; } else { $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id {$stop_list}ORDER BY date desc LIMIT ".$cstart.",".$number; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id {$stop_list}"; } меняем на if ($userid) { $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, news_num, " . PREFIX . "_users.comm_num, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid' ORDER BY date desc LIMIT ".$cstart.",".$number; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid'"; } else { $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, news_num, " . PREFIX . "_users.comm_num, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id {$stop_list}ORDER BY date desc LIMIT ".$cstart.",".$number; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id {$stop_list}"; } после if ($row['is_register']) $tpl->set('{registration}', langdate("d.m.Y", $row['reg_date'])); else $tpl->set('{registration}', '--'); пишем $tpl->set('{comm_num}', intval($row['comm_num'])); после $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si",""); } пишем $arr_ratings = array( '{THEME}/images/rank_00.png'=>'0',// Здесь первая это картинка-рейтинг, а второе число это количество комментариев. '{THEME}/images/rank_01.png'=>'2', '{THEME}/images/rank_02.png'=>'4', '{THEME}/images/rank_03.png'=>'6', '{THEME}/images/rank_04.png'=>'8', '{THEME}/images/rank_05.png'=>'10', ); $image_rating = $arr_rating[0]; foreach($arr_ratings as $key=>$value) { if ($row['comm_num']>=$value){$image_rating = $key;} } if (!isset($image_rating)){$image_rating = $arr_ratings[0];} $tpl->set('{image_rating}',$image_rating); if ($row['comm_num']>0){ $tpl->set('{comm_num}',$row['comm_num']); } else $tpl->set('{comm_num}','-'); использованы методы и коды товарищей Akela и vovik_sumy, за что им огромное спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
El1teGuard 0 Опубликовано: 31 января 2007 Рассказать Опубликовано: 31 января 2007 NoBoddy, спасибо,это действительно работает.Но остались еще 2-е проблемы: 1-ая - при ответе счетчик не обновляется как я уже написал выше и получается вот такая байда 2-ая - проблема когда отвечает гость,получается вот так ,хотя на capa.ru у гостей просто появляется черточка(-) Для 2-ой проблемы есть конечно же решение - это отрубить гостям право постить комменты.А для 1-ой?Без аякса уже никак Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.