Увидел в описании шаблона Kinodevil, что реализован рейтинг лайками/дизлайками (как на киноконг) посредством шаблона, без редактирования functions.php. Скачал шаб и решил попробовать вытянуть этот функционал, но столкнулся с проблемой. Рейтинг подключается, меняется, но как то не правильно. К примеру у новости рейтинг 0/0, ставим +1, потом еще +1, потом -1. Должен отобразится рейтинг как 2/1, он так и отображается до перезагрузки страницы, после перезагрузки дизлайки обнуляются и рейтинг отображается как 2/0. И вот тут если опять поставить минус к рейтингу, то все отрицательные голоса отобразятся с приплюсованным минусом, но опять же до перезагрузки страницы. Если не против, подскажите где ошибка?
В libs.js такой код:
В этом файле чуть ниже:
Вроде бы больше ничего касательно рейтинга в libs.js нету, если что могу показать весь файл. Описанная проблема возникает как в самом шаблоне kinodevil, так и в любом другом где добавляю этот рейтинг. Проблему вроде бы описал понятно, если понадобятся подкреплю скринами.
О хаке Sander'а знаю, но хотелось бы иметь такой рейтинг именно посредством реализации через шаблон, если возможно.
В libs.js такой код:
Код:
$('.rate3').each(function(){
var ratebox = $(this);
var raterate = parseInt(ratebox.find('.ratingtypeplusminus').text());
var ratecount = parseInt(ratebox.find('span[id]:first').text());
if ( ratecount >= raterate ) {
var minusik = (ratecount - raterate)/2;
var plusik = ratecount - minusik;
$(this).children('.pluss').append('<span class="plusik">'+plusik+'</span>');
$(this).children('.minuss').append('<span class="minusik">'+minusik+'</span>');
};
});
Код:
function doRateLD( rate, id ) {
ShowLoading('');
$.get(dle_root + "engine/ajax/rating.php", { go_rate: rate, news_id: id, skin: dle_skin }, function(data){
HideLoading('');
if ( data.success ) {
var rating = data.rating;
rating = rating.replace(/</g, "<");
rating = rating.replace(/>/g, ">");
rating = rating.replace(/&/g, "&");
$("#ratig-layer-" + id).html(rating);
$("#vote-num-id-" + id).html(data.votenum);
var ratingtext = parseInt($(rating).text());
var minusik = (data.votenum - ratingtext)/2;
var plusik = data.votenum - minusik;
$("#pluss-" + id).children('.plusik').text(plusik);
$("#minuss-" + id).children('.minusik').text(minusik);
} else if (data.error) {DLEalert ( data.errorinfo, dle_info );}
}, "json");
};
Вроде бы больше ничего касательно рейтинга в libs.js нету, если что могу показать весь файл. Описанная проблема возникает как в самом шаблоне kinodevil, так и в любом другом где добавляю этот рейтинг. Проблему вроде бы описал понятно, если понадобятся подкреплю скринами.
О хаке Sander'а знаю, но хотелось бы иметь такой рейтинг именно посредством реализации через шаблон, если возможно.