Редактор темы

Рейтинг нравится/не нравится через шаблон

Dron_Vegas

Бывалый
Регистрация
13 Июл 2016
Сообщения
165
Рейтинг реакций
30
Баллы
28
Возраст
37
1/3
Автор темы
Увидел в описании шаблона Kinodevil, что реализован рейтинг лайками/дизлайками (как на киноконг) посредством шаблона, без редактирования functions.php. Скачал шаб и решил попробовать вытянуть этот функционал, но столкнулся с проблемой. Рейтинг подключается, меняется, но как то не правильно. К примеру у новости рейтинг 0/0, ставим +1, потом еще +1, потом -1. Должен отобразится рейтинг как 2/1, он так и отображается до перезагрузки страницы, после перезагрузки дизлайки обнуляются и рейтинг отображается как 2/0. И вот тут если опять поставить минус к рейтингу, то все отрицательные голоса отобразятся с приплюсованным минусом, но опять же до перезагрузки страницы. Если не против, подскажите где ошибка?

В 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(/&lt;/g, "<");
            rating = rating.replace(/&gt;/g, ">");
            rating = rating.replace(/&amp;/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'а знаю, но хотелось бы иметь такой рейтинг именно посредством реализации через шаблон, если возможно.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху