![]()
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" В шаблоне mod/down/down.open.tpl."n"; require_once('rating.php'); $valrate=rating_bar('down',"".$item['downid']."",5); удаляем:
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
Вы не авторизованы!
Гости не могут добавлять комментарии. |




