Хак DLE 10.0 цифровой цветной рейтинг новостей

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак DLE 10.0 цифровой цветной рейтинг новостей
Высокого качества веб-проект часто используют хаки dle и модули, чтобы выделиться среди похожих интернет-ресурсов. Если вам надоел стандартный рейтинг, вот хак DLE 10.0 цифровой цветной рейтинг новостей, который обязательно понравится вам и вашей аудитории.

Самые красивые шаблоны сайтов без рейтинга смотрятся броско, и если вы хотите выделиться, найти нужный вам красивый дизайн для сайта, то советуем посетить проект "ХороШоп", где из большого ассортимента можно всегда выбрать дизайн интернет-магазина на свой вкус.

Красивый хак цифровой цветной рейтинг новостей для DLE 10.0, установка делается в несколько шагов.

1. Открыть файл engine/ajax/rating.php и найти:
if ($go_rate > 5 OR $go_rate <  1) $go_rate = 0;


Заменить на:
if ($go_rate > 1 OR $go_rate < -1) $go_rate = 0;


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 * 20;
    
    if( !$allow ) {
        
        $rated = <<<HTML
<div class="rating">
        <ul class="unit-rating">
        <li class="current-rating" style="width:{$rating}%;">{$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}%;">{$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 $is_logged, $member_id, $config, $lang, $db;
    if ($rating) $rating = round($rating, 0); else $rating = 0;
    if ($rating > 0) $rating="<font color=green>+".$rating."</font>"; elseif ($rating == 0) $rating=$rating; else $rating="<font color=red>".$rating."</font>";
if (!$allow) {
$rated = <<<HTML
<span class="rateinf">{$rating}</span>
HTML;
    return $rated;
}

$rated .= <<<HTML
<span id="ratig-layer-{$id}">
    <img src="/templates/Light/dleimages/up.gif" title="Отлично" class="ratebut" onclick="doRate('1', '{$id}'); return false;" />
<span class="rateinf">{$rating}</span>
    <img src="/templates/Light/dleimages/down.gif" title="Плохо" class="ratebut" onclick="doRate('-1', '{$id}'); return false;" />
</span>
HTML;
    return $rated;
}


3. В файл shortstory.tpl и fullstory.tpl вставить:
<div class="rating">{rating}</div>


4. Открыть файл engine.css и найти:
.rating {
    color: #757575;
    font-size: 11px;        /* ! */
    font-family: tahoma;    /* ! */
    width: 85px;
    height: 16px;
}
.unit-rating {
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: 85px;
    height: 16px;
    position: relative;
    background-image: url(../dleimages/rating.gif);
    background-position: top left;
    background-repeat: repeat-x;
}
.unit-rating li {
    text-indent: -90000px;
    padding: 0px;
    margin: 0px;
    float: left;
}
.unit-rating li a {
    display: block;
    width: 17px;
    height: 16px;
    text-decoration: none;
    text-indent: -9000px;
    z-index: 17;
    position: absolute;
    padding: 0px;
}
.unit-rating li a:hover {
    background-image: url(../dleimages/rating.gif);
    background-position: left center;
    z-index: 2;
    left: 0px;
}
.unit-rating a.r1-unit { left: 0px; }
.unit-rating a.r1-unit:hover { width: 17px; }
.unit-rating a.r2-unit { left: 17px; }
.unit-rating a.r2-unit:hover { width: 34px; }
.unit-rating a.r3-unit { left: 34px; }
.unit-rating a.r3-unit:hover { width: 51px; }
.unit-rating a.r4-unit { left: 51px; }    
.unit-rating a.r4-unit:hover { width: 68px; }
.unit-rating a.r5-unit { left: 68px; }
.unit-rating a.r5-unit:hover { width: 85px; }
.unit-rating li.current-rating {
    background-image: url(../dleimages/rating.gif);
    background-position: left bottom;
    position: absolute;
    height: 16px;
    display: block;
    text-indent: -9000px;
    z-index: 1;
}


Заменить на:
.rating img {border:0px none; margin:0px 8px -1px 7px; }
.ratebut { cursor:pointer; }
.rateinf { font-weight:bold; }


P.S. Если необходимо чтобы после голосования стрелочки не исчезали, найдите в файле engine/ajax/rating.php строку:
$buffer = ShowRating( $row['news_id'], $row['rating'], $row['vote_num'], false );


И удалите:
, false


Зачем нужен такой путь до картинки геморройный когда есть тег {THEME}

$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<img src="/templates/Light/dleimages/up.gif" title="Отлично" class="ratebut" onclick="doRate('1', '{$id}'); return false;" />
<span class="rateinf">{$rating}</span>
<img src="/templates/Light/dleimages/down.gif" title="Плохо" class="ratebut" onclick="doRate('-1', '{$id}'); return false;" />
</span>
HTML;
return $rated;
}

Вот так.
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<img src="{THEME}/dleimages/up.gif" title="Отлично" class="ratebut" onclick="doRate('1', '{$id}'); return false;" />
<span class="rateinf">{$rating}</span>
<img src="{THEME}/dleimages/down.gif" title="Плохо" class="ratebut" onclick="doRate('-1', '{$id}'); return false;" />
</span>
HTML;
return $rated;
}

Поддерживает версии DataLife Engine 10.0 и выше

Скачать хак для dle10.0 цифровой цветной рейтинг новостей
  • 100
Рубрика: DLE хаки
« Далее Хак DLE Ссылки на следующую и предыдущую новость
Добавление комментарияОставить комментарий
  • № :7
  • 8 мая 2014 07:51
Цитата: Karat7
Делал вроде все по феншую и в конце получился такой рейтинг wink
Parse error&#58; syntax error, unexpected &#39;}&#39; in /home/u209808921/public_html/engine/modules/functions.php on line 279


в этом файле добавлен код с ошибкой
home/u209808921/public_html/engine/modules/functions.php

в пункте on line 279
  • № :6
  • 7 мая 2014 20:23
Делал вроде все по феншую и в конце получился такой рейтинг wink
Parse error: syntax error, unexpected '}' in /home/u209808921/public_html/engine/modules/functions.php on line 279


  • № :5
  • 6 мая 2014 18:17
Цитата: Karat7
ой блин.. я не так понял )) Если на оборот utf-8 тогда не обязательно wink Почти все сидят на win-1251 lol

utf-8 делаем как в комментарии, ну и статья для понимания http://www.dle9.com/books/poleznye-stati/1754-konvertirovat-bazu-dannyh-dle-utf-
8-v-windows-1251.html
  • № :4
  • 6 мая 2014 17:45
ой блин.. я не так понял )) Если на оборот utf-8 тогда не обязательно wink Почти все сидят на win-1251 lol
  • № :3
  • 6 мая 2014 17:42
Цитата: shevket007
Отлично работает на 10.1 только как кодировку поменять кода на ютф-8

Если на 10.1 работает значит на 10.2 тоже должен, а вот насчет кодировки может Админ наш сделает копию для win-1251 ? winked
  • № :2
  • 28 декабря 2013 21:49
Отлично работает на 10.1 только как кодировку поменять кода на ютф-8
  • № :1
  • 19 декабря 2013 16:39
Поставил на 10.1, всё отлично работает!