|
下载地址
http://www.mediawiki.org/wiki/Extension:AjaxRatingScript
下载后对其中的注释与提示进行了大部分的汉化,其中有些文件有大小写不一致的问题,这会使其不能在UNIX系统上很好的运行,所以进行了修改。
缺点
由于页面缓存和wiki系统objectcache的存在,评分完成后(或者在没有强刷页面的情况下)可能会看到五颗星还是空白(但是强刷页面后会显示评分结果)这个时候还是可以评分,但其实上数据库中已经记录了参与评分的IP,所以并不会造成一个人多次重复评分。
安装方法
创建数据表
- CREATE TABLE `allwiki_ratings` (
- `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`)
- ) TYPE=MyISAM AUTO_INCREMENT=3;
- 其中的“allwiki_”为您的数据库定义的表前缀。
复制代码 修改文件参数设置
- 修改_config-rating.php中的参数设置 <source lang="php">$dbhost = 'localhost';//主机名称
- $dbuser = '###';//数据库用户名
- $dbpass = '###';//数据库密码
- $dbname = '###';//数据库名称
- $tableName = 'ratings';//评分表的表名称
- $rating_unitwidth = 30;//显示的多颗星评分的图像宽度
- $web_folder = '/demo'; //网站程序文件夹,比如www.examplewiki.com\wiki\index.php 则这里填写/wiki.否则留空
复制代码
- 修改RateArticle.php中的$pathToRating:
- $pathToRating='/这里填写你的wiki安装目录名称/extensions/startRatings/Ratings/';
复制代码
修改RATING.JS中
- xmlhttp.open('get', '/inner/extensions/startRatings/Ratings/rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);
复制代码
的inner为网站安装文件夹。
接着在LocalSettings.php中添加:
- require_once $IP . "/extensions/startRatings/RateArticle.php";
复制代码 请保证你的路径及文件夹名正确。
在monobook.php(mediawiki的皮肤文件)中的这一行:
- <h1 class="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1>
复制代码 下面添加
- <?php
- global $wgArticle;
- //var_dump($wgArticle->mTitle->mNamespace);
- if(isset($wgArticle->mTitle->mNamespace)&&$wgArticle->mTitle->mNamespace==0){//如果名字空间为NULL,则说明是特殊页面,不显示评分
- echo rating_bar($wgArticle->getID(),5);
- }
- ?>
复制代码
|
|