16.04.13, 14:33
0 комментарий
  DLE Хаки

Уникальный, элегантный цифровой рейтинг [DLE 9.3- 9.6]

Сегодня я наткнулся на красивый и универсальный рейтинг новости для DLE.

Версия DLE: 9.3 - 9.6

Установка для Версияя DLE - 9.6:


Перед установкой делаем backup файлов:
1./engine/modules/functions.php
2./engine/ajax/rating.php
3./engine/classes/js/dle_js.js


4. Вашу базу данных

Закидываем 2 картинки которые находятся в архие в папку Images - вашего шаблона
rep_down.png
rep_up.png

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

Найти --->

/*---Рейтинг---*/
.rating {

.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;
}


и заменяем на

.rateBtn{cursor:pointer;display:inline-block;vertical-align:0px}.rateBtn img{display:inline-block;vertical-align:-6px}.ratingBox{padding:2px;margin-right:8px}.rateСounter{font-weight:bold;display:inline-block;min-width:26px;color:#4B4B4B;padding:2px;font-size:10px;text-shadow:0px 1px 0px #fff;text-align:center;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;background:#7СB600;background: -moz-linear-gradient(top, #FFF 0%, #E5E5E5 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#E5E5E5));background: -webkit-linear-gradient(top, #FFF 0%,#E5E5E5 100%);background: -o-linear-gradient(top, #FFF 0%,#E5E5E5 100%);background: -ms-linear-gradient(top, #FFF 0%,#E5E5E5 100%);background:linear-gradient(top, #FFF 0%,#E5E5E5 100%);border:1pxsolid #С8С8С8;}.rateСounter.clickable{cursor:pointer}.rateСounter.green{color:#fff;text-shadow:0px -1px 0px rgba(0,0,0,0.3);background:#7СB600;background: -moz-linear-gradient(top, #8EС300 0%, #6СAA00 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8EС300), color-stop(100%,#6СAA00));background: -webkit-linear-gradient(top, #8EС300 0%,#6СAA00 100%);background: -o-linear-gradient(top, #8EС300 0%,#6СAA00 100%);background: -ms-linear-gradient(top, #8EС300 0%,#6СAA00 100%);background:linear-gradient(top, #8EС300 0%,#6СAA00 100%);border:1pxsolid #689E07}.rateСounter.red{color:#fff;text-shadow:0px -1px 0px rgba(0,0,0,0.3);background:#E71A0E;background: -moz-linear-gradient(top, #FE2F18 0%, #СF0404 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FE2F18), color-stop(100%,#СF0404));background: -webkit-linear-gradient(top, #FE2F18 0%,#СF0404 100%);background: -o-linear-gradient(top, #FE2F18 0%,#СF0404 100%);background: -ms-linear-gradient(top, #FE2F18 0%,#СF0404 100%);background:linear-gradient(top, #FE2F18 0%,#СF0404 100%);border:1pxsolid #B00303}



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

Изменяем 3 функции --->
function ShowRating ()
function ShortRating ()
function userrating ()


На эти
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 = "<span class="rateСounter clickable green" title="Рейтинг положителен" alt="Рейтинг положителен">+".$rating."</span>"; elseif ($rating == 0) $rating="<span class="rateСounter" title="Рейтинг еще не выставлен" alt="Рейтинг еще не выставлен">".$rating."</span>"; else $rating = "<span class="rateСounter clickable red" title="Рейтинг отрицателен" alt="Рейтинг отрицателен">".$rating."</span>";} if (!$allow) {  $rated = <<<HTML<div id="ratig-layer">{$rating}</div>HTML; return $rated;}$rated .= <<<HTML<span id="ratig-layer-{$id}"><span class="rateBtn" onclick="doRate('1', '{$id}'); return false;"><img src="{THEME}/images/rep_up.png" title="Нравится(+)" alt="Нравится(+)"></span>{$rating}<span class="rateBtn" onclick="doRate('-1', '{$id}'); return false;"><img src="{THEME}/images/rep_down.png" title="Не нравится(-)" alt="Не нравится(-)"></span></span>HTML; 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 = "<span class="rateСounter clickable green" title="Рейтинг положителен" alt="Рейтинг положителен">+".$rating."</span>"; elseif ($rating == 0) $rating="<span class="rateСounter clickable" title="Рейтинг еще не выставлен" alt="Рейтинг еще не выставлен">".$rating."</span>"; else $rating = "<span class="rateСounter clickable red" title="Рейтинг отрицателен" alt="Рейтинг отрицателен">".$rating."</span>"; if (!$allow) {  $rated = <<<HTML<div id="ratig-layer">{$rating}</div>HTML; return $rated;}$rated .= <<<HTML<span id="ratig-layer-{$id}"><span class="rateBtn" onclick="doRate('1', '{$id}'); return false;"><img src="{THEME}/images/rep_up.png" title="Нравится(+)" alt="Нравится(+)"/></span>{$rating}<span class="rateBtn" onclick="doRate('-1', '{$id}'); return false;"><img src="{THEME}/images/rep_down.png" title="Не нравится(-)" alt="Не нравится(-)"/></span></span>HTML; return $rated;}function userrating($id) {	global $db;		$row = $db->super_query( "SELEСT SUM(rating) as rating, SUM(vote_num) as num FROM " . PREFIX . "_post_extras WHERE user_id ='{$id}'" );		if( $row['num'] ) $rating = round( ($row['rating'] / $row['num']), 0 );	else $rating = 0;	$rating = $rating * 17;		$rated = <<<HTML<div class="rating" style="display:inline;">		<ul class="unit-rating">		<li class="current-rating" style="width:{$rating}px;">{$rating}</li>		</ul>		</div>HTML;		return $rated;}



Откройте ваш /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/classes/js/dle_js.js

Находим
function doRate(a,b) {}


и изменяем на

function doRate(a,b) {
 ShowLoading('');

 $.get(dle_root + "engine/ajax/rating.php", { go_rate: a, news_id: b, skin: dle_skin }, function(data){

 HideLoading('');

 $("#ratig-layer-" + b).html(data);

 });
};


Заходи в папку с вашим шаблоном и в 3 файлах меняем

Файлы --->

shortstory.tpl

fullstory.tpl

userinfo.tpl


Находим
{rating}
изменяем на строку то что ниже
<div class="ratingBox">{rating}</div>

СКАЧАТЬ

Вес файла
42.77 Kb

Напишите своё мнение