wangsisi 发表于 2010-12-25 16:15:02

MediaWiki扩展:Ajax五颗星评分插件

下载地址
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);
}
?>

页: [1]
查看完整版本: MediaWiki扩展:Ajax五颗星评分插件

美国HostEase虚拟主机一年198元