当前位置:图集之家知识

帝国cms评分代码?通过帝国cms内置的ajax评分代码实现评分投票功能(免插件)

帝国cms评分代码?通过帝国cms内置的ajax评分代码实现评分投票功能(免插件)

内容

帝国cms评分投票功能实际已经内置ajax中了,竟然没有说明。下面免费软件之家分析下通过帝国cms内置的ajax评分代码实现评分投票功能!

帝国cms实现评分投票功能:

首先在模板的head区内调用ajax.js文件,如果已经使用了dig功能则不必重复调用这个js了:

script type=text/javascript src=!--news.url--]e/data/js/ajax.js/script

将下面的css样式复制到你原有的样式表文件中,当然也可以直接写在模板中:

style

.star-rating{

list-style:none;

margin: 0px;

padding:0px;

width: 150px;

height: 30px;

position: relative;

background: url(star_rating.gif) top left repeat-x;

}

.star-rating li{

padding:0px;

margin:0px;

/*/*/

float: left;

/* */

}

.star-rating li a{

display:block;

width:30px;

height: 30px;

text-decoration: none;

text-indent: -9000px;

z-index: 20;

position: absolute;

padding: 0px;

}

.star-rating li a:hover{

background: url(star_rating.gif) left center;

z-index: 2;

left: 0px;

}

.star-rating a.one-star{

left: 0px;

}

.star-rating a.one-star:hover{

width:30px;

}

.star-rating a.two-stars{

left:30px;

}

.star-rating a.two-stars:hover{

width: 60px;

}

.star-rating a.three-stars{

left: 60px;

}

.star-rating a.three-stars:hover{

width: 90px;

}

.star-rating a.four-stars{

left: 90px;

}

.star-rating a.four-stars:hover{

width: 120px;

}

.star-rating a.five-stars{

left: 120px;

}

.star-rating a.five-stars:hover{

width: 150px;

}

.star-rating li.current-rating{

background: url(star_rating.gif) left bottom;

position: absolute;

height: 30px;

width:90px;

display: block;

text-indent: -9000px;

z-index: 1;

}

/style

下载下面的星级效果图片保存下来就OK了,不过需要注意一下CSS中的图片路径修改成自己的实际路径。

在需要添加评分投票功能的地方添加以下代码:

span id=showpfscript type=text/javascript src=!--news.url--]e/public/ViewClick/?classid=!--classid--]id=!--id--]down=3/script

/span分

ul class=star-rating

li class=current-rating/li

lia href=JavaScript:makeRequest('!--news.url--]e/enews/?enews=AddInfoPfenclassid=!--classid--]id=!--id--]doajax=1ajaxarea=showpffen=1','EchoReturnedText','GET',''); class=one-star1/a/li

lia href=JavaScript:makeRequest('!--news.url--]e/enews/?enews=AddInfoPfenclassid=!--classid--]id=!--id--]doajax=1ajaxarea=showpffen=2','EchoReturnedText','GET',''); class=two-stars2/a/li

lia href=JavaScript:makeRequest('!--news.url--]e/enews/?enews=AddInfoPfenclassid=!--classid--]id=!--id--]doajax=1ajaxarea=showpffen=3','EchoReturnedText','GET',''); class=three-stars3/a/li

lia href=JavaScript:makeRequest('!--news.url--]e/enews/?enews=AddInfoPfenclassid=!--classid--]id=!--id--]doajax=1ajaxarea=showpffen=4','EchoReturnedText','GET',''); class=four-stars4/a/li

lia href=JavaScript:makeRequest('!--news.url--]e/enews/?enews=AddInfoPfenclassid=!--classid--]id=!--id--]doajax=1ajaxarea=showpffen=5','EchoReturnedText','GET',''); class=five-stars5/a/li

/ul

此时你会发现在提交评分时总是提示:您来自的连接不存在!主要是因为要使用评分功能的模型,还需要往模型数据表增加infopfen(评分数)和infopfennum(评分人数)两个字段,详细操作步骤如下:

后台系统管理数据表管理字段增加字段:

评分数字段:字段名填infopfen、字段标识填评分数、字段类型选大数值型(INT),其他默认,点提交;

评分人数字段:字段名填infopfennum、字段标识填评分人数、字段类型选大数值型(INT),其他默认,点提交;

两个字段增加后模型即可使用评分功能了,效果如下:(截图来自华纳电影天堂)

帝国cms实现评分投票功能 方法二:

同样我们也可以使用表单的方式实现评分投票功能,首先还是要往模型数据表增加infopfen(评分数)和infopfennum(评分人数)两个字段,详细操作步骤同上!

增加评分字段以后,在那个评论的模板中有两个表单,一个是评分用的,另一个是提交评论用的。

在第一个表单(评分用的),表单提交地址,就用官方默认的:/e/enews/index.php,不能改为/e/pl/doaction.php

在第二个表单(提交评论用的),才需要把 /e/enews/index.php改为/e/pl/doaction.php

具体效果如下:

帝国cms列表页调用评分平均数,并设置小数点的方法:

首先找到帝国cms文件中的 e/public/ViewClick,打开index.php文件,在52行左右找到以下代 码:

$shownum=$r[infopfennum]?round($r[infopfen]/$r[infopfennum]):0;

或者直接搜索 down==3,完整的代码是:

//评分数

elseif($down==3)

{

$r=$empire-fetch1(select infopfen,infopfennum from {$dbtbpre}ecms_.$cr['tbname']. where id='$id' limit 1);

$shownum=$r[infopfennum]?round($r[infopfen]/$r[infopfennum]):0;}

)

将上面代码中的绿色部分修改为:

$shownum=$r[infopfennum]?round($r[infopfen]/$r[infopfennum],1):0;

其中的,1表示保留一个小数点,以此类推。

然后在列表页的调用代码为:(下面的代码为实时调用,不需要人工刷新。)

script src=!--news.url--]e/public/ViewClick?classid=!--classid--]id=!--id--]down=3/script

*特别声明:资源收集自网络或用户上传,本网站所提供的电子文本仅供参考,请以正式出版物为准。电子文本仅供个人标准化学习、研究使用,不得复制、发行、汇编、翻译或网络传播等。如有侵权,请联系我们处理。

相关