DBS独立服客服务

查看完整版本: Z-Blog插件:文章投票(打分) V1.4 【6月1日更新】

软件兔 2007-5-18 10:58

Z-Blog插件:文章投票(打分) V1.4 【6月1日更新】

还是老规矩: 1. 与具体系统无关, 以便可以方便地移植到其它系统上 2. 在保证功能的基础上尽量不影响服务器性能. 3.尽量少改动模板或源码 4. 用户拿到[url=http://blog.wyshen.com/search.asp?q=%E6%8F%92%E4%BB%B6]插件[/url]后尽量不需要改动, 争取做到上传就能用

[b]演示地址: [/b][url=http://blog.wyshen.com/post/197.shtml]http://blog.wyshen.com/post/197.shtml[/url]
[b] 用法:[/b]
[list=1][*]下载附件中的压缩文件, 解压到Z-Blog的Plugin文件夹下[*]修改Template文件夹下的模板single.html的</body>标签前插入以下脚本:
<Script language="javascript" type="text/javascript"src="<#ZC_BLOG_HOST#>;PLUGIN/Rating/Rating.js"></script>[*]修改Template文件夹下的模板b_article-single.html, 在适当位置(我是在TrackBack地址下方)[url=http://blog.wyshen.com/search.asp?q=%E6%8F%92%E4%BB%B6]插件[/url]以下标签:
    <div id="RatingPre"></div>([color=Red]Zx.MYS说明:最好再在b_article-guestbook.html body里任意位置加一句<div id="RatingPre" style="display:none;"></div>,否则访问留言板会报错。[/color])[*]在CSS样式表中加入以下样式:
    [size=12px]/*文章投票(打分)开始*/
    #Rating {
    text-align:left;
    border:1px #B0BDC6 solid;
    padding:10px;
    margin: 0 0 10px 0;
    overflow: auto;
    _height: 1%;
    }
    #Star {
        background-image: url([color=#ff0000]../PLUGIN/Rating/star.gif[/color]);
        height: 30px;
        width: 150px;
        float: left;
    }
    #Star-Cur {
        background-image: url([color=#ff0000]../PLUGIN/Rating/star.gif[/color]);
        background-position: 0px -60px;
        width: 0px;
        position: absolute;
        z-index: 11;
        height: 30px;
    }
    #Star1 {
        position: absolute;
        z-index: 20;
        height: 30px;
        width: 30px;
    }
    #Star2 {
        position: absolute;
        z-index: 19;
        height: 30px;
        width: 60px;
    }
    #Star3 {
        position: absolute;
        z-index: 18;
        height: 30px;
        width: 90px;
    }
    #Star4 {
        position: absolute;
        z-index: 17;
        height: 30px;
        width: 120px;
    }
    #Star5 {
        position: absolute;
        z-index: 16;
        height: 30px;
        width: 150px;
    }
    #Star1:hover, #Star2:hover, #Star3:hover, #Star4:hover, #Star5:hover {
        background-image: url([color=#ff0000]../PLUGIN/Rating/star.gif[/color]);
        background-position: -30px;
    }
    #Score {
        line-height: 30px;
        text-align: center;
        float: left;
        width: 250px;
    }
   
    #Rating-show{    /*文章得分及投票次数*/
   
    }
    Rating-now{    /*正在投票,请稍候*/
        color: #FF0000;   
    }
    #Rating-Tanks {    /*投票成功,感谢您的投票*/
        color:Green;
        font-weight: bold;   
    }
    #Rating-already{    /*已投过票*/
        color:red;
        font-weight: bold;   
    }
    #Rating-err{    /*遇到错误*/
        color:red;
        font-weight: bold;   
    }
    /*文章投票(打分)结束*/
    [/size][/list]说明:
[list=1][*]以上样式表中红色部分(星级图片的地址)可能需要手工改一下(本想把这个地址也写成自动的, 但如果写进脚本的话以后再改成别的样式会比较麻烦, 考虑之后决定还是写进了样式表)[*]"PLUGIN/Rating/"这个文件夹要有写权限[*]考虑到大多数人的Blog都是显示多,评分很少, 所以用了文件缓存, 只有评分时才需要读写数据库, 其它时候不需要从数据库读取数据.[*]投票的脚本Rating.js最好是加到</body>标签之前, 不要加到页面的头部. 如果网速慢或客户端浏览器是多线程的, 把脚本放到页头的话, 可能会造成显示不正常, 但放在页面尾部则不会有问题.[*]因为[url=http://blog.wyshen.com/post/198.shtml]最近心情一直不好[/url], 所以偷了点懒, 省了点功能, 具体就不说了 (^_^)[/list][url=http://blog.wyshen.com/post/197.shtml]http://blog.wyshen.com/post/197.shtml[/url]

Bug修正:

[b]V1.1[/b] 2007年5月23日
改正了一个缓存生成不正确的错误
【感谢[url=http://www.yczhang.com/]Yczhang[/url] hakkawawa angelwing等朋友发现本Bug】

[b]V1.2[/b] 2007年5月24日
Bug修正, 解决了当文章ID为100的整数倍时投票显示不正确的问题.
【感谢 ly 发现本Bug】

[b]V1.3[/b] 2007年5月28日
改进了Blog ID的获取方式, 使用了别名的文章也可以正常投票了.
【感谢 [url=http://www.angelwing.hk/]angelwing[/url] 提出修改建议】

[b]V1.4[/b] 2007年6月1日
改进: 锁定文章自动停用评分功能, 不显示当前分数, 也不允许评分.
【感谢 [url=http://www.angelwing.hk/]Angelwing[/url] 提出本建议】

[b]
升级方法:[/b]
正在使用插件的用户请把压缩包中的[b]Rating.asp Rating.js两个文件上传[/b]到插件目录, 上传后[b]随意[/b]在一篇文章中[b]投一票[/b]就可以[b]刷新投票缓存[/b].


关于投票脚本的防范:
月光博客的读者实在是多, 月光刚推出[url=http://www.williamlong.info/archives/902.html]本插件的修改版[/url], 就有人写了本插件的[url=http://www.x2y2.com/fisker/post/0705/Z-Blog-Voter.html]投票脚本[/url]:L. 虽然可以在服务器端做检测的话可以防止这种恶意投票, 但这就需要加大服务器端系统资源的占用量了. 再者说来, 我相信写投票脚本的朋友其实是没有恶意的, 只是觉得好玩而已. 所以也就不必刻意地去防范了.

这里给出一个简单的修改, 可以防止通用的投票脚本:
打开Rating.js这个文件, 把[color=Red]Rating([/color]指替换为[color=Red]任意字母组合+([/color]就可以了, 如:[color=DarkOrange]abcdde([/color].

这种办法只是防止在别人网站上投票的脚本拿到你的网站上直接用而已, 如果想彻底防的话需要改Rating.asp, 有必要的话再增加这个功能吧.

[[i] 本帖最后由 Zx.MYS 于 2007-9-20 18:00 编辑 [/i]]

washun 2007-5-18 11:15

我顶 终于有这样一个插件面世了:victory:

skywcc 2007-5-18 11:41

谢谢分享,个人比较喜欢鲜花,鸡蛋那种类型的呀,投票不适合写心情的博客吧.

haphic 2007-5-18 16:20

好插件开始多起来了...:)

Zx.MYS 2007-5-18 16:24

这段代码网上很流行,终于移植到Z-BLOG上了
不错哦~

decimal 2007-5-18 18:35

最好加个开关,在需要打分的文章显示,不需要的不显示

skyforever 2007-5-18 21:21

好东西,支持,

angelwing 2007-5-19 11:21

不错顶一下~~

cooojooo 2007-5-19 19:13

我添加了之后没有星的图片出现在只有“你尚无评分记录”这几个字,不知道是不是图片地址设置有误,能说说地址应该怎么设置的吗?是自己的首页地址吗?
如果不是图片地址的问题的话,能帮忙看看是什么问题吗?

cooojooo 2007-5-19 19:26

解决了,是文件包属性的问题

washun 2007-5-20 11:51

在ff下这个插件有些问题,比如没有任何评分的情况下显示:平均得分NaN分(共undefined次打分)

Zx.MYS 2007-5-20 12:55

我在FF下用的很正常~

Google 2007-5-20 14:50

DZ博客就有这功能。

asongzhang 2007-5-21 18:46

不错,支持

软件兔 2007-5-22 16:35

[quote]原帖由 [i]washun[/i] 于 2007-5-20 11:51 发表
在ff下这个插件有些问题,比如没有任何评分的情况下显示:平均得分NaN分(共undefined次打分) [/quote]
不是吧? 我这个就是在FF下开发的呀, 而且我一直是从用FF浏览, 感觉很正常呀. 是不是什么地方没设置好?

hakkawawa 2007-5-22 23:54

如果该篇文章已删除, 那原来打分的数据会跟着删除吗?

hakkawawa 2007-5-23 09:55

只能给一篇文章打分:L

angelwing 2007-5-23 10:03

好像还有BUG哦~~
每次打开某篇文章(已经打过分的文章),老是显示的是该文章尚未评分

软件兔 2007-5-23 10:05

[quote]原帖由 [i]hakkawawa[/i] 于 2007-5-22 23:54 发表
如果该篇文章已删除, 那原来打分的数据会跟着删除吗? [/quote]
因为不跟Z-Blog的数据库发生交互,所以文章删除后不会删除评分记录的(如果想删除的话就得改Z-Blog的代码了), 但文章删除后这篇文章的评分记录除了占用十几个字节的空间及流量外没有其它影响的.

软件兔 2007-5-23 10:43

[quote]原帖由 [i]angelwing[/i] 于 2007-5-23 10:03 发表
好像还有BUG哦~~
每次打开某篇文章(已经打过分的文章),老是显示的是该文章尚未评分 [/quote]
看你的说明象是浏览器没有把最新的投票数据下载, 而是调用了缓存中的. 上线后加我MSN我帮你调试一下吧

另外,投票的脚本最好放在</body>标签之前, 不要放得太靠上, 你的放在页头了, 如果是用户浏览器支持多线程的话, 可能会出错.

angelwing 2007-5-25 11:14

[color=Red]还有点问题哦~
如果某篇日志有别名的时候将无法对该篇日志进行评分~[/color]

蜀狂 2007-5-26 12:54

谁 帮我安装一下

软件兔 2007-5-27 12:10

[quote]原帖由 [i]angelwing[/i] 于 2007-5-25 11:14 发表
还有点问题哦~
如果某篇日志有别名的时候将无法对该篇日志进行评分~ [/quote]

这个问题需要重写GetID函数,等周一或周二时我回公司后再写吧。

软件兔 2007-5-27 12:12

[quote]原帖由 [i]蜀狂[/i] 于 2007-5-26 12:54 发表
谁 帮我安装一下 [/quote]
其实安装很简单的,你先装着试一下,什么地方有问题再联系,针对具体问题我帮你解决。
页: [1] 2
查看完整版本: Z-Blog插件:文章投票(打分) V1.4 【6月1日更新】