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

Провеббер » DataLife Engine » DLE хаки » Рейтинг в 10 звезд для DLE 9.7

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

Рейтинг в 10 звезд для DLE 9.7

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Рейтинг в 10 звезд для DLE 9.7.

В DLE 9.7 код отличается от прошлых версий .. поэтом и код для рейтинга в 10-ть звёзд тоже
решил поделиться с вами )
Вариант 1

Рейтинг в 10 звезд для DLE 9.7

Рейтинг в 10 звезд для DLE 9.7

Вариант 2

Рейтинг в 10 звезд для DLE 9.7

Рейтинг в 10 звезд для DLE 9.7

---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
Вариант 1


в \engine\modules\functions.php найти
function ShowRating($id, $rating, $vote_num, $allow = true) {
    global $lang;

    if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 0 );
    else $rating = 0;
    $rating = $rating * 17;

    if( !$allow ) {

        $rated = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}px;">{$rating}</li>
        </ul>
</div>
HTML;
        
        return $rated;
    }

    $rated = <<<HTML
<div id='ratig-layer-{$id}'><div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}px;">{$rating}</li>
        <li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
        <li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
        <li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
        <li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
        <li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
        </ul>
</div></div>
HTML;

    return $rated;
}


Заменить на
//основной рейтинг
function ShowRating($id, $rating, $vote_num, $allow = true) {

    global $lang;
    
    if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 1 );
    else $rating = 0;
    $rating1 = str_replace( ",", " . ", $rating );
    $rating2 = $rating1 * 10;
    
    if( ! $allow ) {
        
        $rated = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
        </ul>
<div class="rating rating_digits"><div class="rating_digits_1">{$rating1}</div><div class="rating_digits_2">{$vote_num}</div></div></div>
HTML;
        
        return $rated;
    }
    
    $rated .= <<<HTML
<div id='ratig-layer-{$id}'><div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
        <li><a href="#" title="1" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
        <li><a href="#" title="2" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
        <li><a href="#" title="3" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
        <li><a href="#" title="4" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
        <li><a href="#" title="5" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
        <li><a href="#" title="6" class="r6-unit" onclick="doRate('6', '{$id}'); return false;">6</a></li>
        <li><a href="#" title="7" class="r7-unit" onclick="doRate('7', '{$id}'); return false;">7</a></li>
        <li><a href="#" title="8" class="r8-unit" onclick="doRate('8', '{$id}'); return false;">8</a></li>
        <li><a href="#" title="9" class="r9-unit" onclick="doRate('9', '{$id}'); return false;">9</a></li>
        <li><a href="#" title="10" class="r10-unit" onclick="doRate('10', '{$id}'); return false;">10</a></li>
        </ul>
<div class="rating rating_digits"><div class="rating_digits_1">{$rating1}</div><div class="rating_digits_2">{$vote_num}</div></div></div></div>
HTML;
    
    return $rated;
}
//основной рейтинг


\engine\ajax\rating.php найти
if( $go_rate > 5 or $go_rate < 1 ) $go_rate = 0;


заменить на
if( $go_rate > 10 or $go_rate < 1 ) $go_rate = 0;


в css шаблоне в \style\engine.css заменить весь код между
/*---Рейтинг---*/
...
/*---BB коды---*/

на этот
.rating {
color: #000;
font-size: 10px;
font-family: tahoma;
width: 200px;
height: 38px;
margin: 0;
font-weight: bold;
padding: 0 20px;
}
.unit-rating {
list-style: none;
margin: 0px;
padding: 0px;
width: 200px;
height: 38px;
position: relative;
background-image: url(../dleimages/ratingr.png);
background-position: -20px -38px;
background-repeat: repeat-x;
}
.unit-rating li {
    text-indent: -90000px;
    padding: 0px;
    margin: 0px;
    float: left;
}
.unit-rating li a {
    display: block;
    width: 20px;
    height: 19px;
    text-decoration: none;
    text-indent: -9000px;
    z-index: 17;
    position: absolute;
    padding: 0px;
}
.unit-rating li a:hover {
background-image: url(../dleimages/ratingr.png);
background-position: -20px -19px;
z-index: 2;
left: 0px;
}
.unit-rating a.r1-unit { left: 0px; }
.unit-rating a.r1-unit:hover { width: 20px; }
.unit-rating a.r2-unit { left: 20px; }
.unit-rating a.r2-unit:hover { width: 40px; }
.unit-rating a.r3-unit { left: 40px; }
.unit-rating a.r3-unit:hover { width: 60px; }
.unit-rating a.r4-unit { left: 60px; }    
.unit-rating a.r4-unit:hover { width: 80px; }
.unit-rating a.r5-unit { left: 80px; }
.unit-rating a.r5-unit:hover { width: 100px; }
.unit-rating a.r6-unit { left: 100px; }
.unit-rating a.r6-unit:hover { width: 120px; }
.unit-rating a.r7-unit { left: 120px; }
.unit-rating a.r7-unit:hover { width: 140px; }
.unit-rating a.r8-unit { left: 140px; }
.unit-rating a.r8-unit:hover { width: 160px; }
.unit-rating a.r9-unit { left: 160px; }
.unit-rating a.r9-unit:hover { width: 180px; }
.unit-rating a.r10-unit { left: 180px; }
.unit-rating a.r10-unit:hover { width: 200px; }
.unit-rating li.current-rating {
background-image: url(../dleimages/ratingr.png);
background-position: -20px 0px;
position: absolute;
height: 19px;
display: block;
text-indent: -9000px;
z-index: 1;
}
.rating_digits{
font-size:14px;
line-height:10px;
padding:0 0 0 2px !important;
position:absolute;
margin:-16px 0 0 0;
height:11px;
width:124px !important;
}
.rating_digits_1{
float:left;
margin:0px;
height:11px;
width:37px;
}
.rating_digits_2{
color:#646464;
float:left;
margin:0 0 0 8px;
height:11px;
width:79px;
}


в шаблон /dleimages/ залить картинку с именем ratingr.png
Рейтинг в 10 звезд для DLE 9.7


---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
Вариант 2


в \engine\modules\functions.php найти
function ShowRating($id, $rating, $vote_num, $allow = true) {
    global $lang;

    if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 0 );
    else $rating = 0;
    $rating = $rating * 17;

    if( !$allow ) {

        $rated = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}px;">{$rating}</li>
        </ul>
</div>
HTML;
        
        return $rated;
    }

    $rated = <<<HTML
<div id='ratig-layer-{$id}'><div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}px;">{$rating}</li>
        <li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
        <li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
        <li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
        <li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
        <li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
        </ul>
</div></div>
HTML;

    return $rated;
}


Заменить на
//основной рейтинг
function ShowRating($id, $rating, $vote_num, $allow = true) {

    global $lang;
    
    if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 1 );
    else $rating = 0;
    $rating1 = str_replace( ",", " . ", $rating );
    $rating2 = $rating1 * 10;
    
    if( ! $allow ) {
        
        $rated = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
        </ul>
<div class="rating_digits"><div class="rating_digits_1">Общий бал: {$rating1}</div><div class="rating_digits_2">Проголосовало людей: {$vote_num}</div></div></div>
HTML;
        
        return $rated;
    }
    
    $rated .= <<<HTML
<div id='ratig-layer-{$id}'><div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
        <li><a href="#" title="1" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
        <li><a href="#" title="2" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
        <li><a href="#" title="3" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
        <li><a href="#" title="4" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
        <li><a href="#" title="5" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
        <li><a href="#" title="6" class="r6-unit" onclick="doRate('6', '{$id}'); return false;">6</a></li>
        <li><a href="#" title="7" class="r7-unit" onclick="doRate('7', '{$id}'); return false;">7</a></li>
        <li><a href="#" title="8" class="r8-unit" onclick="doRate('8', '{$id}'); return false;">8</a></li>
        <li><a href="#" title="9" class="r9-unit" onclick="doRate('9', '{$id}'); return false;">9</a></li>
        <li><a href="#" title="10" class="r10-unit" onclick="doRate('10', '{$id}'); return false;">10</a></li>
        </ul>
<div class="rating_digits"><div class="rating_digits_1">Общий бал: {$rating1}</div><div class="rating_digits_2">Проголосовало людей: {$vote_num}</div></div></div></div>
HTML;
    
    return $rated;
}
//основной рейтинг


\engine\ajax\rating.php найти
if( $go_rate > 5 or $go_rate < 1 ) $go_rate = 0;


заменить на
if( $go_rate > 10 or $go_rate < 1 ) $go_rate = 0;


в css шаблоне в \style\engine.css заменить весь код между
/*---Рейтинг---*/
...
/*---BB коды---*/

на этот
.rating {
color: black;
display: block;
font-size: 10px;
font-family: tahoma;
height: 54px;
margin: 0;
font-weight: bold;
width: 264px;
}
.unit-rating {
list-style: none;
margin:0 auto;
padding: 0px;
width: 264px;
height: 27px;
position: relative;
background-image: url(../dleimages/ratingv.png);
background-position: 0 -54px;
background-repeat: repeat-x;
}
.unit-rating li {
    text-indent: -90000px;
    padding: 0px;
    margin: 0px;
    float: left;
}
.unit-rating li a {
    display: block;
    width: 26.4px;
    height: 27px;
    text-decoration: none;
    text-indent: -9000px;
    z-index: 17;
    position: absolute;
    padding: 0px;
}
.unit-rating li a:hover {
background-image: url(../dleimages/ratingv.png);
background-position: 0 -27px;
z-index: 2;
left: 0px;
}
.unit-rating a.r1-unit { left: 0px; }
.unit-rating a.r1-unit:hover { width: 26.4px; }
.unit-rating a.r2-unit { left: 26.4px; }
.unit-rating a.r2-unit:hover { width: 52.8px; }
.unit-rating a.r3-unit { left: 52.8px; }
.unit-rating a.r3-unit:hover { width: 79.2px; }
.unit-rating a.r4-unit { left: 79.2px; }    
.unit-rating a.r4-unit:hover { width: 105.6px; }
.unit-rating a.r5-unit { left: 105.6px; }
.unit-rating a.r5-unit:hover { width: 132px; }
.unit-rating a.r6-unit { left: 132px; }
.unit-rating a.r6-unit:hover { width: 158.4px; }
.unit-rating a.r7-unit { left: 158.4px; }
.unit-rating a.r7-unit:hover { width: 184.8px; }
.unit-rating a.r8-unit { left: 184.8px; }
.unit-rating a.r8-unit:hover { width: 211.2px; }
.unit-rating a.r9-unit { left: 211.2px; }
.unit-rating a.r9-unit:hover { width: 237.6px; }
.unit-rating a.r10-unit { left: 237.6px; }
.unit-rating a.r10-unit:hover { width: 264px; }
.unit-rating li.current-rating {
background-image: url(../dleimages/ratingv.png);
background-position: 0 0px;
position: absolute;
height: 27px;
display: block;
text-indent: -9000px;
z-index: 1;
}

.rating_digits{
font-size: 12px;
line-height: 9px;
height: 26px;
width: 334px;
}

.rating_digits div{
display: inline-block;
}

.rating_digits_1{
margin: 0;
padding: 8px 8px 8px 0;
width: 110px;
height: 10px;
}

.rating_digits_2{
margin: 0;
padding: 8px 8px 8px 0;
width: 187px;
height: 10px;
}


в шаблон /dleimages/ залить картинку с именем ratingv.png
Рейтинг в 10 звезд для DLE 9.7


---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
картинки звёзд без сжатия в архиве
zvezdy.rar [26.88 Kb] (cкачиваний: 809)
MD5: 4c3e14baa7f4085a52169a0fcc6e8bb6


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


+29
Просмотры: 16 285 :: Комментарии (19) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1mad-man242

  • 28 ноября 2012 06:47
  • Регистрация: 10.10.2011
  • Был(а) онлайн: 9.07.2017
  • Комментариев: 91
  • 0
Понравился 2 вариант, скажите а где можно найти его на DLE 9.5 или же данный код подойдёт на эту версию?

#2D0Gmatist

  • 28 ноября 2012 10:49
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • +1
Нет ... этот код только для DLE9.7

Забыл дописать
тут я делал так чтобы при 8.3 или 8.4
показывало чётко 8-мь звёзд

но можно сделать так чтобы к примеру при 8.4
показывало 8-мь звёзд и почти половинку закрашенную

для этого в обох вариантах ... достаточно в коде который вписываете в \engine\modules\functions.php

найти
$rating2 = $rating1 * 10;
заменить на
$rating2 = str_replace( ",", "", $rating );


пример http://kinomir.nbr.by/2771-veselye-kanikuly-veselye-kanikuly-get-the-gringo.html

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

#3Fox

  • 28 ноября 2012 18:21
  • Регистрация: 4.03.2011
  • Был(а) онлайн: 7.02.2021
  • Комментариев: 166
  • 0
А зачем? я не понимаю смысл и пяти звезд, а тут десять. По мне три звезды в самый раз, то есть низшая оценка, средняя и отличная. Как оценить в 10 звезд я не понимаю.

#4DANIKS

  • 30 ноября 2012 22:57
  • Регистрация: 17.04.2012
  • Был(а) онлайн: 14.10.2014
  • Комментариев: 29
  • 0
Для блога может и подойдет 3 звезды, а для кино портала нет, там в самый раз 10 звезд!

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

#5Arbat

  • 4 декабря 2012 21:54
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 6.12.2012
  • Комментариев: 11
  • 0
кто ставил на 9.6 ?

#6ALTERNATE

  • 5 декабря 2012 11:18
  • Регистрация: 8.08.2009
  • Был(а) онлайн: 25.02.2020
  • Комментариев: 130
  • 0
Поставил на 9.6, всё бы хорошо, но в рейтинге участвует только половина звезд. При наведении на 5 звезд работает спрайт, дальше - нет.
И не выводится "Общий бал", только тег {rating1}/{rating-1}.
Как исправить ?

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

#7ALTERNATE

  • 5 декабря 2012 12:11
  • Регистрация: 8.08.2009
  • Был(а) онлайн: 25.02.2020
  • Комментариев: 130
  • +1
Нашёл решение для отображения всех звезд при наведении, в файле \engine\modules\functions.php нужно найти (встречается 3 раза):
$rating = $rating * 17;


и заменить на:
$rating = $rating * 26;

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

#8werty11

  • 5 декабря 2012 22:19
  • Регистрация: 5.08.2011
  • Был(а) онлайн: 8.12.2012
  • Комментариев: 5
  • 0
2 очень интересный модуль!

#9wexc

  • 6 декабря 2012 19:23
  • Регистрация: 12.03.2011
  • Был(а) онлайн: 18.01.2013
  • Комментариев: 7
  • 0
в короткой новости смотрится не очень в полной отлично

#10D0Gmatist

  • 7 декабря 2012 05:42
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • +2
так нарисуй себе звёзды которые будут и там и там смотреться просто зашибенно )))

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

#11Andrey_kras

  • 9 декабря 2012 09:39
  • Регистрация: 26.11.2011
  • Был(а) онлайн: 8.10.2013
  • Комментариев: 32
  • 0
очень нужная вещь, причем и свои звездочки можно подрисовать

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

#12D0Gmatist

  • 10 декабря 2012 12:03
  • Регистрация: 28.07.2012
  • Был(а) онлайн: 24.06.2021
  • Комментариев: 291
  • +2
Цитата: ALTERNATE
Нашёл решение для отображения всех звезд при наведении, в файле \engine\modules\functions.php нужно найти (встречается 3 раза):
$rating = $rating * 17;

и заменить на:
$rating = $rating * 26;

Это что за ....
Какая версия дле

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

#13Alex2222

  • 6 февраля 2013 22:58
  • Регистрация: 5.01.2011
  • Был(а) онлайн: 23.05.2015
  • Комментариев: 31
  • 0
Хаком пользуюсь уже целый месяц. Спасибо вам.

#14Shmidtelson

  • 23 февраля 2013 17:12
  • Регистрация: 5.02.2012
  • Был(а) онлайн: 16.10.2021
  • Комментариев: 1
  • -2
{"success":true, "rating":"<div class=\"rating\">\n <ul class=\"unit-rating\">\n <li class=\"current-rating\" style=\"width:40%;\">40<\/li>\n <\/ul>\n<div class=\"rating_digits\"><div class=\"rating_digits_1\">Общий бал: 4 . 8<\/div><div class=\"rating_digits_2\">Проголосовало людей: 4<\/div><\/div><\/div>", "votenum":"4"}

#15coka1n

  • 13 марта 2013 19:20
  • Регистрация: 1.03.2011
  • Был(а) онлайн: 22.03.2015
  • Комментариев: 322
  • 0
Цитата: mad-man242
Понравился 2 вариант, скажите а где можно найти его на DLE 9.5 или же данный код подойдёт на эту версию?

Поддерживаю.Где можно найти для 9.5 версии?

#16pauk1510

  • 25 мая 2013 14:51
  • Регистрация: 14.12.2011
  • Был(а) онлайн: 21.09.2024
  • Комментариев: 32
  • 0
Как считаете, для игрового сайта подойдет?

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

#17Zoomzu

  • 7 июля 2013 00:21
  • Регистрация: 26.07.2011
  • Был(а) онлайн: 14.12.2020
  • Комментариев: 92
  • 0
Как то страноо smile но на "десятку" отлично вписался. Отчет ведет отменно cool

#18dfanat

  • 15 августа 2013 18:46
  • Регистрация: 16.02.2010
  • Был(а) онлайн: 14.12.2019
  • Комментариев: 24
  • 0
как сделать чтоб заработал на десятке?

#19Maksuwa

  • 14 декабря 2016 12:14
  • Регистрация: 3.05.2010
  • Был(а) онлайн: 14.12.2016
  • Комментариев: 78
  • 0
D0Gmatist,
Скажи как сделать этот рейтинг на дле 11?

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

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

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