Оцени это!
Здравствуйте, сегодня в качестве новогоднего подарка я предлагаю вам свой скрипт оценки комментариев, который используется мной уже довольно давно.
Он на самом деле довольной простенький, но зато в отличие от стандартного скрипта выполняет ожидаемое действие — выводит обновлённую оценку не в _uWnd.alert, а заменяя устаревшую оценку в коде.
Начнём мы с описания классов и id которые нужны для нормальной работы:
#cRating$ID$ — элемент в котором должен быть весь блок с оценкой.
#comRate$ID$ — элемент в котором записана оценка.
.cRpositive — класс для #comRate$ID$ при позитивной оценке.
.cRnegative — класс для #comRate$ID$ при негативной оценке.
.cRzero — класс для #comRate$ID$ при нулевой оценке.
.RateUp и .RateDn — классы для плюса и минуса, соответственно.
.inactive — класс, который добавляется к .RateUp и .RateDn обозначая невозможность оценки
comVote(true, 123)
Первая переменная: true если оценка — плюс и false если минус.
Вторая переменная: цифровой id блока в котором совершается оценка. u.код — $ID$
<div class="cRaiting" id="cRating$ID$">
<span id="comRate$ID$" class="<?if($COMMENT_RATING$<0)?>cRnegative"><?else?><?if($COMMENT_RATING$=0||!$COMMENT_RATING$)?>cRzero"><?else?>cRpositive">+<?endif?><?endif?><?if(!$COMMENT_RATING$)?>0<?else?>$COMMENT_RATING$<?endif?></span>
<a href="javascript://" <?if($GOOD_COMMENT_URL$)?>onclick="comVote(true, $ID$)"<?endif?>class="RateUp<?if(!$GOOD_COMMENT_URL$)?> inactive<?endif?>" title="Хороший комментарий"> </a>
<a href="javascript://" <?if($GOOD_COMMENT_URL$)?>onclick="comVote(false, $ID$)"<?endif?> class="RateDn<?if(!$GOOD_COMMENT_URL$)?> inactive<?endif?>" title="Плохой комментарий"> </a>
</div>
Ну и наконец сам JS код, который нужно вставить либо в тег <script> в шаблоне «Страница материала и комментариев к нему» либо в подключаемый в коде страницы .js файл.
function comVote(a,b){var r=parseInt($('#comRate'+b).html());$('#cRating'+b+' a').addClass('inactive').removeAttr('onclick').unbind('click').click(function(){_uWnd.alert('Повторное голосование запрещено.','',{w:230,h:80,tm:2300})})
_uPostForm('',{url:'/index/60-'+b+(a?'-1':'-2'),success:function(){a?r++:r--;_uWnd.alert('Оценка засчитана','',{w:230,h:80,tm:4000});$('#comRate'+b).removeClass().addClass((r>0?'cRpositive':(r<0?'cRnegative':'cRzero'))).html((r>0?'+':'')+r);}});return false}
С новым годом! Всего-всего вам и шоб не болели!
ЗЫ: Шабик крут!
Да, да @KIMMI это я тебе.
Да и выдирать исходник из твоего кода не будут))) По крайней мере я ... =))
В вид комментариев? Как подключить джава скрипт? куда класть ссылку на него? объясните пожалуйста! :)
В вид комментариев? Как подключить джава скрипт? куда класть ссылку на него? объясните пожалуйста! :)|
+ Обьясните кто нибудь почему все подобные статьи делаются хрен знает для кого