Собственно не чего нового не написал, попросили сделать вывод рейтинга как на
http://stopgame.ru/ - вот вам и пожалуйста.
Автор:ingvard
Описания: Рейтинг новостей в новой форме by ingvard
Рейтинг не доработан в плане:
короткой новости и в профиле,как выдет фикс я напишу,как модуль полностью обновица,перепишу даную стать.
Установка прилогаеца в нутри:
1. Загрузите файл шаблона.
2. В файле
fullstory.tpl добавить:
Код:
{include file="edit_rating.tpl"}
{include file="rating.tpl"}
3. В /engine/modules/functions.php
Ищем:
PHP код:
function ShowRating($id, $rating, $vote_num, $allow = true) {
global $lang;
….. Бла бла бла код…….
return $rated;
}
Заменяем на:
PHP код:
function ShowRating($id, $rating, $vote_num, $allow = true) {
global $lang;
$rating = $rating / $vote_num;
if( ! $allow ) {
$rated = <<<HTML
<table cellpadding="3" cellspacing="0" width="100%">
<tbody><tr>
<td width="120">
<table border="0" cellpadding="3" cellspacing="0" width="100%">
<tbody><tr><td class="td_rate">оценка игре</td></tr>
<tr><td class="rate"><span id="rate_count">{$rating}</span><span class="rate2">/5</span></td></tr>
<tr><td class="td_rate">голосов: <span id="rate_total">{$vote_num}</span></td></tr>
</tbody></table>
</td>
<td valign="middle">
<div id="rate_indicator" style="display: none;"></div>
<div id="rate_result">
<form method="post">
<table align="center" cellpadding="5" cellspacing="0" width="100%">
<tbody><div class="rate_info">Спасибо. Ваш голос принят.</div>
</tbody></table>
HTML;
return $rated;
}
$rated .= <<<HTML
<div id='ratig-layer'>
<table cellpadding="3" cellspacing="0" width="100%">
<tbody><tr>
<td width="120">
<table border="0" cellpadding="3" cellspacing="0" width="100%">
<tbody><tr><td class="td_rate">оценка игре</td></tr>
<tr><td class="rate"><span id="rate_count">{$rating}</span><span class="rate2">/5</span></td></tr>
<tr><td class="td_rate">голосов: <span id="rate_total">{$vote_num}</span></td></tr>
</tbody></table>
</td>
<td valign="middle">
<div id="rate_indicator" style="display: none;"></div>
<div id="rate_result">
<table align="center" cellpadding="5" cellspacing="0" width="100%">
<tbody><tr>
<td colspan="7" class="rate3" align="center">
Ваша оценка игре по пятибальной шкале
</td>
</tr>
</td>
<tr bgcolor="#eeeeee">
<td width="15%"> </td>
<td align="center" width="14%"><div class="rate_num"><label for="rate1">1</label></div></td>
<td align="center" width="14%"><div class="rate_num"><label for="rate2">2</label></div></td>
<td align="center" width="14%"><div class="rate_num"><label for="rate3">3</label></div></td>
<td align="center" width="14%"><div class="rate_num"><label for="rate4">4</label></div></td>
<td align="center" width="14%"><div class="rate_num"><label for="rate5">5</label></div></td>
<td width="15%"> </td>
</tr>
<tr bgcolor="#eeeeee">
<td> </td>
<td align="center"><input id="rate1" type="radio" onclick="doRate('1', '{$id}'); return false;"></td>
<td align="center"><input id="rate1" type="radio" onclick="doRate('2', '{$id}'); return false;"></td>
<td align="center"><input id="rate1" type="radio" onclick="doRate('3', '{$id}'); return false;"></td>
<td align="center"><input id="rate1" type="radio" onclick="doRate('4', '{$id}'); return false;"></td>
<td align="center"><input id="rate1" type="radio" onclick="doRate('5', '{$id}'); return false;"></td>
<td> </td>
</tr>
</tbody></table></table>
</div>
HTML;
return $rated;
}
4. В файл css вашего шаблона:
PHP код:
.rate_num{background-color:#D43261;color:#FFF;font-size:12px;font-weight:700;width:20px;padding:3px 0}
.rate_num label{cursor:hand}
.td_rate{background-color:#8ACD32;color:#FFF;font-weight:700;text-align:center}
.rate{color:#19425E;font:bold 30pt Tahoma, Verdana, Arial, Helvetica, sans-serif;text-align:center}
.rate2{font:bold 15pt Tahoma, Verdana, Arial, Helvetica, sans-serif}
.rate_info{color:green;font:normal 20px Tahoma;text-align:center}
5. В файле /engine/modules/show.full.php
Ищем:
PHP код:
if( $row['allow_rate'] ) $tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
else $tpl->set( '{rating}', "" );
Добавим после:
PHP код:
$tpl->set( '{Ball}', $row['rating'] / $row['vote_num']);
$tpl->set( '{num_rat}', $row['vote_num']);
Фикс:
Если у вас рейтинг отображаеться как 3,3333337/5
Находим в коде
Код:
$rating = $rating / $vote_num;
и заменяем на
Код:
$result = $rating / $vote_num;
if (strlen($result) > 3)
{
$rating = substr($result, 0, 3);
}
else
{
$rating = $result;
}
Скачать:админы залейте к себе на форум и убирите хайд.
http://www.bormotuhi.net/krfilesmana...&dlfileid=1108
Пароль на архив: Po3dgeUpTNPobGvU
размер файла: 30.5 KB