Регистрация

Фикс хак цветного рейтинга для DLE 8.2

TipTop 21-10-2009, 15:06 3293 Хаки DLE

Фикс Хак цветного рейтинга для DataLife Engine 8.2



Фикc Хак для установки цветного рейтинга для DataLife Engine 8.2.Сталкyлся я с тем что устанавливая на движок DataLife Engine 8.2 у меня вылетала ошибка и Хак не корректно работал и не мог понять в чем проблема перезаписывал я коды по несколько раз заново и результат один и тот же. Потом для проверки решил я поставить на движок DataLife Engine 7.5 и вот оно чудо заработало. Затем дело техники перелопатил я все коды файлов что менялось и сравнивал с файлами от движка DataLife Engine 8.2.И нашел разницу между движками в коде для DataLife Engine 7.5
$rated .= </span>

и DataLife Engine 8.2
$rated .= "</div>";
и последнее я не стал менять и оставил как оно есть.

Дополнено by TipTop

Открыть файл: /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;


Открыть файл /engine/modules/functions.php


---Найти примерно следующее:

function ShowRating ($id, $rating, $vote_num, $allow = true){
if ($rating) $rating = round(($rating /  $vote_num), 0); else $rating = 0;
$rating = $rating * 17;

...пропущен код...

return $rated;
}


$rated .= <<<HTML

...пропущен код...

return $rated;
}

Заменить на:

function ShowRating($id, $rating, $vote_num, $allow = true) {
global $is_logged, $member_id, $config, $lang, $db;
if ($rating=='null'){$rating="Уже Голосовали!";}else{
if ($rating) $rating = round($rating, 0); else $rating = 0;
if ($rating > 0) $rating = "<font color=green><b>+".$rating."</font></b>"; elseif ($rating == 0) $rating="<b>".$rating."</font></b>"; else $rating = "<font color=red><b>".$rating."</font></b>";
}
if (!$allow) {
  $rated = <<<HTML
<div id="ratig-layer">{$rating}</div>
HTML;

return $rated;
}

$rated .= <<<HTML
<span id="ratig-layer-{$id}">
<div id="ratig-layer">

   <img src="{THEME}/dleimages/up.gif" title="Нравится(+)" alt="Нравится(+)" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" width="16" height="16" align="middle" />
  </a>
  {$rating}
   <img src="{THEME}/dleimages/down.gif" title="Не нравится(-)" alt="Не нравится(-)" class="r2-unit" onclick="doRate('-1', '{$id}'); return false;" width="16" height="16" align="middle" />
</div>
</span>
HTML;

return $rated;
}


Найти примерно следующее:

function ShortRating ($id, $rating, $vote_num, $allow = true){
global $config, $lang;

...пропущен код...

$rated .= <<<HTML

...пропущен код...

$rated  .= "</span>";

return $rated;
}


Заменить на:

function ShortRating($id, $rating, $vote_num, $allow = true) {
global $config, $lang;

if ($rating) $rating = round($rating, 0); else $rating = 0;
if ($rating > 0) $rating = "<font color=green><b>+".$rating."</font></b>"; elseif ($rating == 0) $rating="<b>".$rating."</font></b>"; else $rating = "<font color=red><b>".$rating."</font></b>";

if (!$allow) {
  $rated = <<<HTML
<div id="ratig-layer">{$rating}</div>
HTML;

return $rated;
}

$rated = "<span id=\"ratig-layer-" . $id . "\">";
$rated .= <<<HTML
<div id="ratig-layer">
   <img src="{THEME}/dleimages/up.gif" title="Нравится(+)" alt="Нравится(+)" class="r2-unit" onclick="doRate('1', '{$id}'); return false;" width="16" height="16" align="middle" />{$rating}
   <img src="{THEME}/dleimages/down.gif" title="Не нравится(-)" alt="Не нравится(-)" class="r2-unit" onclick="doRate('-1', '{$id}'); return false;" width="16" height="16" align="middle" />
</div>
HTML;
        
$rated .= "</div>";

return $rated;
}
Найти функцию (должна быть сразу после вышеописанных кодов):
[code]function userrating($name)
.
..пропущен код...

return $rated;
}


Заменить ее на:

function userrating($name) {
global $db;

$row = $db->super_query("SELECT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post where autor ='$name'");

if ($row['num']) $rating = round(($row['rating'] /  $row['num']), 0); else $rating = 0;
$rating = $rating;

$rated = <<<HTML
{$rating}
HTML;

return $rated;
}


Открыть файл /templates/ваш_шаблон/css/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;
}

Заменить на:

.r2-unit{
cursor: pointer;
}
.rating-text {float: left;}

#ratig-layer {
font-weight: bold;
float: left;
padding-right: 5px;
}

#ratig-layer a, #ratig-layer a:hover {text-decoration: none;}




Открыть файл /templates/ваш_шаблон/shortstory.tpl


Найти:

{rating}


Заменить на:

<div class="rating-text">Рейтинг:&nbsp;</div>{rating}


Тоже самое проделайте и с файлом fullstory.tpl

Вот и все! Внимательно копируйте и всавляйте и все заработает.

Похожие новости

Хак микроразметка рейтинга в DLE

Небольшой хак для движка это микроразметка рейтинга для DLE по версии schema.org. Эта версия

10.10.14 Хаки DLE
Цифра рейтинг для DLE 10.0

Идем в разнообразие и меняем стандартный рейтинг в новостях на DLE. Представляем новый цветной

09.07.13 Хаки DLE
Хак для DLE красивый рейтинг новости

Один из красивых на вид рейтинг новости

19.09.10 Хаки DLE

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть