Парни, Бармалей как то давно выложил один скрипт рейтинга.
Сам код выглядит так:
Code
<?if($RATE_FORM$)?><a href="#" onclick="rateForm(-1,$ID$);return false">-</a><?endif?>
<b title="Голосов: $RATED$" id="rate_$ID$" class="<?if(($RATING$*$RATED$-2*$RATED$)=0)?>nullRate<?else?><?if(($RATING$*$RATED$-2*$RATED$)<0)?>negativeRate<?else?>positiveRate<?endif?> <?endif?>"><script type="text/javascript">document.write(Math.round(<?($RATING$*$RATED$)?>)-<?2*$RATED$?>)</script></b>
<?if($RATE_FORM$)?><a href="#" onclick="rateForm(1,$ID$);return false">+</a><?endif?>
И к нему прилагается скрипт:
Code
rateForm=function(c,d,f,g){if(typeof d=='undefined'||typeof c=='undefined'||(c!=1&&c!=-1))return false;c+=2;if(!f)f=location.pathname.match(/[^\\\/]+/i)+'';if(!f)return false;var h=$('#rate_'+d);g=$.extend({'before':function(a){a.prev('a').remove();a.next('a').remove()},'after-success':function(a,b){a.html(b).addClass(b>0?'positiveRate':(b==0?'nullRate':'negativeRate'));_uWnd.alert('Оценка засчитана!')},'after-error':function(a){try{eval(a)}catch(e){}}},g||{});g.before(h);$.post('/'+f+'/',{'a':'65','id':d,'mark':c,'mod':f,'ajax':'2'},function(a){a=$('cmd:first',a).text();var b=a.match(/рейтинг:\s*([\d.]+)\/(\d+)/i);if(!b)return g['after-error'](a);b=Math.round(b[1]*b[2])-2*b[2];g['after-success'](h,b)})}
Работает он ОТЛИЧНО. Но недавно столкнулся с большой проблемой.
Значит в настройках выставил, что бы при заходе на сайт, сразу загружалась не главная страница а страница с каталогом игор /stuff
Тоесть получается адрес такой site.ru
Но отображается то, что по адресу site.ru/stuff
СУТЬ ПРОБЛЕМЫ
Захожу на сайт, site.ru вижу то что тут site.ru/stuff но рейтинг не работает. Жму на + ил - но ни чего вообще не происходит. Такое впечатление что скрипта вообще нет.
Но стоит вписать в адресной строке site.ru/stuff и тут рейтинг уже отлично работает.
Помогите решить эту проблему. Я думаю она как то связана с редиректом.
Сразу хочу сказать, скрипт подключал и на главной странице и в виде матереалов и где только не подключал.
Всё равно когда в адресной строке site.ru рейтинг не работает.Добавлено (12 Январь 2012, 10:49)
---------------------------------------------
Проблему помог решить один хороший человек aaa4xu с другого форума.
Code
rateForm=function(c,d,f,g){if(typeof d=='undefined'||typeof c=='undefined'||(c!=1&&c!=-1))return false;c+=2;if(!f)f=location.pathname.match(/[^\\\/]+/i)+'';if(!f)return false;if(f=="null")f="stuff";var h=$('#rate_'+d);g=$.extend({'before':function(a){a.prev('a').remove();a.next('a').remove()},'after-success':function(a,b){a.html(b).addClass(b>0?'positiveRate':(b==0?'nullRate':'negativeRate'));_uWnd.alert('Оценка засчитана!')},'after-error':function(a){try{eval(a)}catch(e){}}},g||{});g.before(h);$.post('/'+f+'/',{'a':'65','id':d,'mark':c,'mod':f,'ajax':'2'},function(a){a=$('cmd:first',a).text();var b=a.match(/рейтинг:\s*([\d.]+)\/(\d+)/i);if(!b)return g['after-error'](a);b=Math.round(b[1]*b[2])-2*b[2];g['after-success'](h,b)})}
Тему можно офф