Перейти к публикации

Рекомендованные сообщения

я знаю как сделать чтобы при ответе кол-во было 0, с рейтингом сча посмотрю, насчет 2-го, у меня гости не имеют права постить..

Ссылка на сообщение
Поделиться на других сайтах

NoBoddy, спасибо,это действительно работает.Но остались еще 2-е проблемы:

1-ая - при ответе счетчик не обновляется как я уже написал выше и получается вот такая байда

e5d831a1fa04.jpg

Аналогичные вышеприведенным изменения надо внести в \engine\ajax\addcomments.php

Ссылка на сообщение
Поделиться на других сайтах

Код 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}','-');

Если ты имеешь ввиду вот это,то не пашет,все осталось также!

Ссылка на сообщение
Поделиться на других сайтах

Неважно что,что не обновляется?По-мойму наоборот,я бы не стал ставить нерабочий мод на сайт ;)

Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, а как ещё сделать такую фишечку, чтобы над кубиками(рейтинг) писались слова типо:Новичок, Профи, полу бог и тд, ?

Ссылка на сообщение
Поделиться на других сайтах

Код 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}','-');

Если ты имеешь ввиду вот это,то не пашет,все осталось также!

Ну кроме этого, надо ж и запрос к базе поменять

с этого

	$row = $db->super_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 = '$post_id' order by id DESC LIMIT 0,1");
на этот
	$row = $db->super_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, news_num, " . PREFIX . "_users.comm_num, " . PREFIX . "_users.user_group, 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 = '$post_id' order by id DESC LIMIT 0,1");

Ссылка на сообщение
Поделиться на других сайтах

Для 5.3 lastcomments все равно не работет.

Но я исправил у себя, теперь работает. Если я не ошибаюсь, то вместо

	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.user_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.user_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}";

}

А дальше то что сказал NoBoddy (пост 24)

Ссылка на сообщение
Поделиться на других сайтах

На 5.3 все нормально работает.

у гостей вобще не отображаются картинки,если отвечаешь как гость.

2-ое - при ответе в комментах с аяксом,счетчик комментов не обновляется,а просто сбивается,т.е отображения ни рейтинга,ни кол-ва комментов,только после обновления все становится нормально.

Выложи плыз полностью как ты делал.

Ссылка на сообщение
Поделиться на других сайтах

Посмотри на сайте разработчика, там есть полностью рабочая версия и с гостями и с AJAX! Ссылка на сайт есть гдето выше в теме)

Ссылка на сообщение
Поделиться на других сайтах

2EuroSTAR Спасибо.

Склепал с всего что было :)

Есть одна маленькая проблема. Помогите плыз.

Перед добавлением комента, у меня например рейтинг rank_02.png

Когда добавляешь комментарий становится rank_01.png

На 1 назад возвращается. Когда обновляешь, все ОК.

Вот код:

$no_rating = " Гости не учавствуют в рейтинге";

$arr_ratings = array(

0=> array(

'image_rating'=>'{THEME}/images/rank_00.png',

'rank_txt'=>'Прохожий',

'count_comm'=>'0'

),


1=> array(

'image_rating'=>'{THEME}/images/rank_01.png',

'rank_txt'=>'Гость',

'count_comm'=>'1'

),

2=> array(

'image_rating'=>'{THEME}/images/rank_02.png',

'rank_txt'=>'Новичок',

'count_comm'=>'10'

),

3=> array(

'image_rating'=>'{THEME}/images/rank_03.png',

'rank_txt'=>'Опытный',

'count_comm'=>'20'

),

4=> array(

'image_rating'=>'{THEME}/images/rank_04png',

'rank_txt'=>'Шаман',

'count_comm'=>'30'

),

5=> array(

'image_rating'=>'{THEME}/images/rank_05.png',

'rank_txt'=>'Гуру',

'count_comm'=>'40'

),

);

if ($row['comm_num']==""){$row[comm_num]=0;}

for($i=0;$i<=count($arr_ratings)-1;$i++)

{

if ($row['comm_num']>=$arr_ratings[$i]['count_comm'])

{

$image_rating = $arr_ratings[$i]['image_rating'];

$rank_txt = $arr_ratings[$i]['rank_txt'];

$remain_comm = "До следующего звания Вам ".($arr_ratings[$i+1]['count_comm']-$row['comm_num'])." комментариев";

if ($row['comm_num']==0){$remain_comm = $no_rating;}

}

}

$tpl->set('{image_rating}',$image_rating);

$tpl->set('{rank_txt}',$rank_txt);

$rank_txt = "";

$image_rating = "";


if ($row['comm_num']>0){

$tpl->set('{comm_num}',$row['comm_num']);

}

else

$tpl->set('{comm_num}','-');

$tpl->set('{img_rating_alt}',$remain_comm);

Спасибо.

Изменено пользователем vlad7777
Ссылка на сообщение
Поделиться на других сайтах

вопросик вот какой!!!

а где должно выводиться вот это

$remain_comm = "До следующего звания Вам ".($arr_ratings[$i+1]['count_comm']-$row['comm_num'])." комментариев";

т.е. сколько осталось до след звания?

Ссылка на сообщение
Поделиться на других сайтах

вопросик вот какой!!!

а где должно выводиться вот это

$remain_comm = "До следующего звания Вам ".($arr_ratings[$i+1]['count_comm']-$row['comm_num'])." комментариев";

т.е. сколько осталось до след звания?

При наведении на картинку рейтинга.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...