28 Ноября 2007
Рейтинг можно прикрутить запросто к любому модулю...

Сам скрипт рейтинга брал отсюда: www.masugadesign.com

1. Качаем архив из прикрепленных файлов.

2. Выполняем запрос в бд.
TABLE `{pref}_{mods}_rating` (
  `id` varchar(11) NOT NULL,
  `total_votes` int(11) NOT NULL default '0',
  `total_value` int(11) NOT NULL default '0',
  `used_ips` longtext,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=cp1251;
Меняем:
{pref} на свой перфикс.
{mods} на модуль к которому хотим прикрутить рейтинг(например article или down).

3. Из архива кидаем файлы:
rating.php, rpc.php и db.php в корень
rating.js и behavior.js в папку js/
рисунки из папки rating в папку temp/ваш_шаблон/images/rating

4. В style.css вашей темы оформления прописываем стили.
.ratingblock {
        display:block;
        border-bottom:1px solid #999;
        padding-bottom:8px;
        margin-bottom:8px;
        }

.loading {
        height: 30px;
        background: url('/temp/2007/images/rating/working.gif') 50% 50% no-repeat;
        }
       
.unit-rating { /* the UL */
        list-style:none;
        margin: 0px;
        padding:0px;
        height: 30px;
        position: relative;
        background: url('/temp/2007/images/rating/starrating.gif') top left repeat-x;                
        }

.unit-rating li{
    text-indent: -90000px;
        padding:0px;
        margin:0px;
        /**/
        float: left;
        /* */
        }
       
.unit-rating li a {
        outline: none;
        display:block;
        width:30px;
        height: 30px;
        text-decoration: none;
        text-indent: -9000px;
        z-index: 20;
        position: absolute;
        padding: 0px;
        }
       
.unit-rating li a:hover{
        background: url('/temp/2007/images/rating/starrating.gif') left center;
        z-index: 2;
        left: 0px;
        }

.unit-rating a.r1-unit{left: 0px;}
.unit-rating a.r1-unit:hover{width:30px;}
.unit-rating a.r2-unit{left:30px;}
.unit-rating a.r2-unit:hover{width: 60px;}
.unit-rating a.r3-unit{left: 60px;}
.unit-rating a.r3-unit:hover{width: 90px;}
.unit-rating a.r4-unit{left: 90px;}        
.unit-rating a.r4-unit:hover{width: 120px;}
.unit-rating a.r5-unit{left: 120px;}
.unit-rating a.r5-unit:hover{width: 150px;}
.unit-rating a.r6-unit{left: 150px;}
.unit-rating a.r6-unit:hover{width: 180px;}
.unit-rating a.r7-unit{left: 180px;}
.unit-rating a.r7-unit:hover{width: 210px;}
.unit-rating a.r8-unit{left: 210px;}
.unit-rating a.r8-unit:hover{width: 240px;}
.unit-rating a.r9-unit{left: 240px;}
.unit-rating a.r9-unit:hover{width: 270px;}
.unit-rating a.r10-unit{left: 270px;}
.unit-rating a.r10-unit:hover{width: 300px;}

.unit-rating li.current-rating {
        background: url('/temp/2007/images/rating/starrating.gif') left bottom;
        position: absolute;
        height: 30px;
        display: block;
        text-indent: -9000px;
        z-index: 1;
        }

.voted {color:#999;}
.thanks {color:#36AA3D;}
.static {color:#5D3126;}

5. В стилях вместо 2007 соответсвено прописываем папку с вашей темой.

6. В файле base/danneo.database.php
добавить строку:
function fetchassoc($query_id=0) {return @mysql_fetch_assoc($query_id);}
после:
function numrows($query_id=0){ return @mysql_num_rows($query_id); }


Для модуля файлов:

В файле mod/down/index.php удаляем:
/* ================================================== == ##
## GRAPHIC                                              ##
## ================================================== == */

function graphic($rate){
global $setting;
return $r = "";
}
if($item['rating']>0 && $item['totalrating']>0){
$fileatr['rate'] = round($item['totalrating'] / $item['rating']);
}
'rating'=>$item['rating'],
'totalrating'=>$item['totalrating'],
'countrating'=>$fileatr['rate'],
# Rating
if($setting['srating']=="yes"){
$ratingform = $tm->('mod/soft/form.rating');
$tm->parseprint(array('down_rate'=>$lang['down_rate'],
                      'down_rate_emp'=>$lang['down_rate_emp'],
                      'down_rate_1'=>$lang['down_rate_1'],
                      'down_rate_2'=>$lang['down_rate_2'],
                      'down_rate_3'=>$lang['down_rate_3'],
                      'down_rate_4'=>$lang['down_rate_4'],
                      'down_rate_5'=>$lang['down_rate_5'],
                      'id'=>$item['softid'],
                      'down_rate_button'=>$lang['down_rate_button']
                      ),$ratingform);
}
'valrate'=>graphic($fileatr['rate']),

заменяем на:

'valrate'=>$valrate,

до строки (в районе 590)

$tm->parseprint(array('title'=>$title,
                      'time'=>format_time($item['public'],0),
                      'text'=>notslashes($item['textshort']),
                      'js'=>$js,

прописываем:

print "n"
."n";
require_once('rating.php');
$valrate=rating_bar('down',"".$item['downid']."",5);
В шаблоне mod/down/down.open.tpl
удаляем:
0 / 0 []


Для модуля статьи:

В файле mod/article/index.php
до(строка 406)
$tm->parseprint(array('icon'=>$icon, 'cat'=>$cat, 'title'=>notslashes($item['title']), 'time'=>format_time($item['public'],0),

добавляем:

print "n" ."n"; require_once('rating.php');
$valrate=rating_bar('article',"".$item['artid']."",5);

после(строка 417)

'down'=>$down,

добавляем:

'valrate'=>$valrate,


В temp/шаблон/mod/article/artilce.read.tpl
в нужном месте прописываем 0

Для других модулей по аналогии

в вызове функции:
$valrate=rating_bar('down',"".$item['downid']."",5);
down меняем на название модуля (например news).
Просмотров: 2648 | Загрузок: 203 Оценка  4 | Рейтинг  57 | Голосов  13  
  1   2   3   4   5
Тип файла: RAR Скачать файл
Размер файла: 12.77 Kb
Добавил: CMS Danneo ™

Вы не авторизованы!
Гости не могут добавлять комментарии.
Вход