Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Цветной рейтинг публикаций (DLE 9.0).
Скачать бесплатно Цветной рейтинг публикаций (DLE 9.0).
Замена стандартного рейтинга публикаций на цветной. (Много раз было, но для 9.0 как и обещал сделал с анимацией при изменений рейтинга.)
В чем собственно этот отличается от всех других:
- Стрелки не пропадают
- Настройки оформления цвета вынесены в CSS для удобства редактирования.
- Анимация (затухание) цифры, при изменений рейтинга публикаций.
- Заготовил прозрачные стрелки (2 шт.)
Совместимость: только DLE 9.0
Автор оригинальной идей: с 4dle.ru кто-то был первый
Доработка: Artem Electro (тобишь я)
Теперь установка:
1. Открываем файл engine/ajax/rating.php
---- В нем ищем строку:
if( $go_rate > 5 or $go_rate < 1 ) $go_rate = 0;
---- Меняем её на:
if( $go_rate > 5 or $go_rate < -1 ) $go_rate = 0;
2. Открываем файл engine/modules/functions.php
---- Ищем:
function ShowRating($id, $rating, $vote_num, $allow = true) {
global $lang;
if( $rating ) $rating = round( ($rating / $vote_num), 0 );
else $rating = 0;
$rating = $rating * 17;
if( ! $allow ) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div><div class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div>
HTML;
return $rated;
}
$rated .= <<<HTML
<div id='ratig-layer'><div class="rating" style="float:left;">
<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 class="rating" style="float:left; padding-top:2px;"> ({$lang['voten']} {$vote_num})</div></div>
HTML;
return $rated;
}
function ShortRating($id, $rating, $vote_num, $allow = true) {
global $lang;
if( $rating ) $rating = round( ($rating / $vote_num), 0 );
else $rating = 0;
$rating = $rating * 17;
if( ! $allow ) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
</ul>
</div>
HTML;
return $rated;
}
$rated = "<div id='ratig-layer-" . $id . "'>";
$rated .= <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating}px;">{$rating}</li>
<li><a href="#" title="{$lang['useless']}" class="r1-unit" onclick="dleRate('1', '{$id}'); return false;">1</a></li>
<li><a href="#" title="{$lang['poor']}" class="r2-unit" onclick="dleRate('2', '{$id}'); return false;">2</a></li>
<li><a href="#" title="{$lang['fair']}" class="r3-unit" onclick="dleRate('3', '{$id}'); return false;">3</a></li>
<li><a href="#" title="{$lang['good']}" class="r4-unit" onclick="dleRate('4', '{$id}'); return false;">4</a></li>
<li><a href="#" title="{$lang['excellent']}" class="r5-unit" onclick="dleRate('5', '{$id}'); return false;">5</a></li>
</ul>
</div>
HTML;
$rated .= "</div>";
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 * 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;
}
---- Меняем на:
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; }
}
switch($rating) {
case ($rating >= 0):
$rating = '<span class="rating1">+'.$rating.'</span>';
break;
case ($rating <= 0):
$rating = '<span class="rating2">'.$rating.'</span>';
break;
case($rating == 0):
$rating = '<span class="rating3">'.$rating.'</span>';
break;
}
if (!$allow) {
$rated = <<<HTML
<span id="ratig-layer-{$id}">
{$rating}
</span>
HTML;
return $rated;
}
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
{$rating}
</span>
HTML;
return $rated;
}
function ShortRating($id, $rating, $vote_num, $allow = true) {
global $config, $lang;
if ($rating == null) {
$rating = "Уже голосовали!";
} else {
if ($rating) {
$rating = round($rating, 0); } else { $rating = 0; }
}
switch($rating) {
case ($rating >= 0):
$rating = '<span class="rating1">+'.$rating.'</span>';
break;
case ($rating <= 0):
$rating = '<span class="rating2">'.$rating.'</span>';
break;
case($rating == 0):
$rating = '<span class="rating3">'.$rating.'</span>';
break;
}
if (!$allow) {
$rated = <<<HTML
<a href="#" title="Нравится(+)" alt="Нравится(+)" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">
<img src="/templates/{$config['skin']}/dleimages/up.png" title="Нравится(+)" alt="Нравится(+)" width="16" height="16" align="middle" />
</a>
<span id="ratig-layer-{$id}">
{$rating}
</span>
<a href="#" title="Не нравится(-)" alt="Не нравится(-)" class="r2-unit" onclick="doRate('-1', '{$id}'); return false;">
<img src="/templates/{$config['skin']}/dleimages/down.png" title="Не нравится(-)" alt="Не нравится(-)" width="16" height="16" align="middle" />
</a>
HTML;
return $rated;
}
$rated .= <<<HTML
<span id="ratig-layer-{$id}">
{$rating}
</span>
HTML;
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;
}
3. Открываем файл engine/classes/js/js_edit.js
---- Ищем:
function doRate( rate, id ) {
var ajax = new dle_ajax();
ajax.onShow ('');
var varsString = "go_rate=" + rate;
ajax.setVar("news_id", id);
ajax.setVar("skin", dle_skin);
ajax.requestFile = dle_root + "engine/ajax/rating.php";
ajax.method = 'GET';
ajax.element = 'ratig-layer';
ajax.sendAJAX(varsString);
};
---- Меняем на:
function doRate( rate, id ) {
var ajax = new dle_ajax();
ajax.onShow ('');
var varsString = "go_rate=" + rate;
ajax.setVar("news_id", id);
ajax.setVar("skin", dle_skin);
ajax.requestFile = dle_root + "engine/ajax/rating.php";
ajax.method = 'GET';
ajax.effect = 'fade';
ajax.element = 'ratig-layer-' + id;
ajax.sendAJAX(varsString);
};
4. Открываем файл templates/ваш_шаблон/engine.css
---- Ищем:
.rating {
color: #555555;
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-text {float: left;}
#ratig-layer {
font-weight: bold;
float: left;
padding-right: 5px;
}
#ratig-layer a, #ratig-layer a:hover {text-decoration: none;}
.rating1 {color: #009900;} /*Положительный*/
.rating2 {color: #FF0000;} /*Отрицательный*/
.rating3 {color: #000000;} /*Равен 0*/
.r1-unit{
cursor: pointer;
}
.r2-unit{
cursor: pointer;
}
5. Открываем файл templates/ваш_шаблон/shortstory.tpl
Вместо {rating} вставляем: <div class="rating-text">Рейтинг: {rating}</div>
6. Скопировать содержимое папки {THEME} из архива, в папку с вашим шаблоном.
rating.zip [142 b] (cкачиваний: 68)
MD5: 336e340e6ebf0fd41b466c03d85bc4d8
MD5: 336e340e6ebf0fd41b466c03d85bc4d8
Предыдущая Следующая