Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE модули » Bars-Rating by Sander

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Bars-Rating by Sander

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Bars-Rating by Sander.

Bars-Rating by Sander

Как и обещал, выкладываю на всеобщее обозрение данный рейтинг :)

Много скриншотов делать не стал, все что надо - видно на обложке.
В подробном описании, я считаю, он так же не нуждается. Разве что стоит отдельно отметить тот факт, что значения стандартного рейтинга сохраняются и с помощью "умного" алгоритма автоматический вычисляются количества оценок от 1 до 5 баллов на основании исходных данных.
Если вы не знали, DLE не запоминает какую именно оценку поставил каждый пользователь. Только общий рейтинг и количество голосов.

Что ж, перейдем к самому интересному - установка.
В подключенном к шаблону файле стилей прописать такие стили:
.b-rating-area{height:120px;width:270px;margin:10px 0;text-align:left;}
.b-rating-lines{list-style:none;margin:0;padding:0;}
    .b-rating-lines li{height:18px;display:block;font:normal 12px/17px Arial;color:#333;width:200px;padding:0 50px 0 20px;}
    .b-rating-lines li:hover{background:#fafafa;}
        .b-rating-lines-bar{float:left;height:16px;}
            .b-color-5{background:#7cac16;border-bottom:1px solid #699212;}
            .b-color-4{background:#a8d12e;border-bottom:1px solid #8fb127;}
            .b-color-3{background:#ffcf00;border-bottom:1px solid #d9b000;}
            .b-color-2{background:#faa732;border-bottom:1px solid #d48e2a;}
            .b-color-1{background:#d9534f;border-bottom:1px solid #b84643;}

        .b-rating-lines-rate{float:left;width:14px;height:100%;border-right:1px solid #444;margin-left:-15px;}
        .b-rating-lines-votes{float:right;width:40px;height:100%;margin-right:-50px;color:#666;}

.b-rating-vote-area{height:25px;padding-top:5px;font:normal 16px/25px Arial;color:#444;}
    .b-rating-stars{float:right;margin:0;padding:0;list-style:none;}
        .b-rating-stars li{float:left;width:25px;height:25px;background:url('../images/b_rating.png') no-repeat 0 0;cursor:pointer;}
        .b-rating-stars li.b-current{background-position:0 -25px;}
        .b-rating-stars li.b-hover{background-position:0 -50px;}


А так же в любой подключенный к шаблону JS файл вставить код:
$(document).on("mouseenter",".b-rating-stars li",function(){
    var b_index = $(this).index()+1;
    $(this).parent().find('li').each(function(i){
        if(b_index>i) $(this).addClass('b-hover');
    });
}).on("mouseleave",".b-rating-stars li",function(){
    $(this).parent().find('li').removeClass('b-hover');
});


Теперь самое интересное.
Выполнить запрос в БД:
ALTER TABLE `dle_post` ADD `b_rating` VARCHAR( 20 ) NOT NULL;


Открыть файл engine/modules/functions.php
Найти строку:
function ShowRating(

В ней надо переименовать функцию, например так
function ShowRating2(

и ПЕРЕД ней вставить:


Открыть файл engine/ajax/rating.php
Найти строку:
    $db->query( "UPDATE " . PREFIX . "_post_extras SET rating=rating+'$go_rate', vote_num=vote_num+1 WHERE news_id ='$news_id'" );

После нее вставить:
    $r = $db->super_query("SELECT b_rating FROM ".PREFIX."_post WHERE id={$news_id}");
    if($r['b_rating']) $b_rating = explode("|",$r['b_rating']);
    else $b_rating = array_fill(0,5,0);
    $b_rating[$go_rate-1]++;
    $b_rating = implode("|",$b_rating);
    $db->query( "UPDATE " . PREFIX . "_post SET b_rating='$b_rating' WHERE id ='$news_id'" );


Найти строку:
$row = $db->super_query( "SELECT news_id, rating, vote_num FROM " . PREFIX . "_post_extras WHERE news_id ='$news_id'" );

Заменить на:
$row = $db->super_query( "SELECT e.news_id, e.rating, e.vote_num, p.b_rating FROM ".PREFIX."_post p LEFT JOIN " . PREFIX . "_post_extras e ON p.id=e.news_id WHERE news_id ='$news_id'" );


Картинку со звездочками залить в папку images в вашей папке с шаблоном.
Bars-Rating by Sander


Теперь что касается версии DLE. По большому счету пойдет даже на некроверсиях. Только на совсем старых надо будет еще и jQuery подключить (хотя он сейчас уже наверно во всех шаблонах подключен).
Инструкция писалась под версии DLE 9.7 - 10.1 (и старше). На младших будет отличаться только инструкция по установке.
НЕ надо просить меня написать инструкцию под некроверсии. Пора вам обновляться.

Надеюсь, что модуль будет полезным и кому-нибудь пригодится :)

Офф.сайт: Sandev.pro

С уважением,
Олег Александрович a.k.a. Sander


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+37
Просмотры: 4 751 :: Комментарии (10) :: :: Нужна помощь? Задайте вопрос на форуме ::
Теги: Sander, Module, Rating
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1severnake

  • 24 января 2014 18:54
  • Регистрация: 30.05.2012
  • Был(а) онлайн: 25.06.2023
  • Комментариев: 36
  • 0
Спасибо за труды - полезно. Осталось подправить под 10-и бальную шкалу)

#2Sander

  • 24 января 2014 21:25
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • 0
Tesak,
Картинку со звездочками залить в папку images в вашей папке с шаблоном.

--------------------

#3D0Gmatist

  • 26 января 2014 17:40
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • -3
То биш всё таки сделал как я и говорил ...

--------------------

#4soulman

  • 26 января 2014 21:43
  • Регистрация: 14.04.2011
  • Был(а) онлайн: 16.08.2022
  • Комментариев: 77
  • +1
да звездочки не отображаются, пути правильные к картинке... дле 10.1

#5Sander

  • 26 января 2014 23:47
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • 0
D0Gmatist,
Нет. Я сделал так, как изначально и планировал. И это было абсолютно не то, о чем я спрашивал!

--------------------

#6D0Gmatist

  • 27 января 2014 02:27
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • -3
Sander,
biggrin

--------------------

#7Colt

  • 27 января 2014 13:13
  • Регистрация: 10.11.2010
  • Был(а) онлайн: 23.10.2016
  • Комментариев: 48
  • 0
Sander, спасибо за модуль, но может хоть ты сделаешь разный вывод рейтинга в полной и короткой новостях? Иногда нужен разный вид рейтинга, в полной один, в краткой - другой. На дле-фак много видел подобных вопросов, но решения так и нет.

#8san4o703

  • 28 января 2014 17:12
  • Регистрация: 9.05.2011
  • Был(а) онлайн: 20.10.2014
  • Комментариев: 9
  • 0
дайте демо глянуть

#9Слон

  • 3 февраля 2014 20:25
  • Регистрация: 14.10.2011
  • Был(а) онлайн: 13.01.2017
  • Комментариев: 333
  • 0
У меня что-то при нажатии на рейтинг выходит:
Загрузка. Пожалуйста, подождите...
и на этом все. проверял на дефолтном шаблоне.

#10ProWebZ

  • 6 апреля 2014 15:52
  • Регистрация: 4.02.2011
  • Был(а) онлайн: 9.11.2024
  • Комментариев: 34
  • 0
у меня всё отлично пашет. Спасибо автору

--------------------

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: