php 顶一下,Digg(顶一下)插件 For phpcms2007 sp4(gbk)

一、Digg插件简介:    Digg是WEB 2.0概念下的一种新的互动模式,可以由网友自己票选出大家最关注的新闻、话题。去年年底phoenixtv.com凤凰网启用了该功能,现在163.com的大批门户网站也开始使用该功能。类似的,也有了“掘客”、“掘世新闻”等概念。

本插件的制作中,尽最大可能实现了在PHPCMS中跨模块、跨频道实现Digg功能整合,可以列出24小时和7日内的Digg榜;没有改变既有数据表的存储结构,从而避免了使用该插件在将来可能会造成的升级问题。

二、运行环境:

1、首先保证phpcms2007sp4(gbk)版本能够正常运行

2、linux/unix主机还需要设置相关路径的访问权限

三、安装说明:

1、首先备份你的phpcms中的以下文件:

templates/default/article/content.html

templates/default/download/content.html

templates/default/picture/content.html

templates/default/movie/content.html

templates/default/phpcms/header.html

templates/default/movie/header.html

templates/default/skin/default/style.css

2、将解压缩后的文件覆盖系统中原来的相应文件。即将该目录下的除了本文件之外的所有文件和目录上传到你的phpcms安装路径。共有以下几个文件:

digg.php: 主程序文件

include/js/digg.js: ajax实现顶一下的js文件

templates/default/article/content.html

templates/default/download/content.html

templates/default/picture/content.html

templates/default/movie/content.html

templates/default/phpcms/header.html

templates/default/movie/header.html

templates/default/skin/default/style.css

templates/default/skin/default/images/digg.gif

templates/default/skin/default/images/digg2.gif

templates/default/skin/default/images/diggpoint.gif

在此特别提醒你,如果你曾经修改过模板,一定不要轻易覆盖这些模板文件!在后面的第五部分中有专门写明,怎样修改模板。因此,如果想添加到你自己已经修改过的模板中,请参考本程序包中给出的模板文件和下面的说明,自行修改。

3、执行SQL语句:

DROP TABLE IF EXISTS `phpcms_digg`;

CREATE TABLE IF NOT EXISTS `phpcms_digg` (

`module` varchar(20) NOT NULL default '',

`channelid` tinyint(3) NOT NULL default '0',

`contentid` int(10) NOT NULL default '0',

`timestamp` int(10) NOT NULL default '0',

`ip` varchar(15) NOT NULL default '0',

UNIQUE KEY `diggindex` (`module`,`channelid`,`contentid`,`ip`)

) TYPE=MyISAM;

复制代码

注意上面的表前缀"phpcms_"改成你实际的数据表的前缀。默认应该是"phpcms_"。如果不清楚,请查看config.inc.php中的

$CONFIG['tablepre'] = 'phpcms_';  //数据表前缀

复制代码

可以使用phpcms的数据维护中的SQL执行,或者使用phpmyadmin执行这段SQL语句。

到此,此插件就安装好了。现在的任务就是更新所有已经生成的静态页面,从而在所有内容页面中出现“顶一下”的标记。

四、使用说明:

1、现在,文章、图片、下载、影视四类模块所在的频道的内容都应当出现了“顶一下”的部分。上面显示的数字是最近n天内用户“顶”的数量。n在digg.php中的$diggcfg['delete']定义。

2、点击“顶一下”,则上面的数量会增加1。如果该用户所在IP此前已经“顶”过该内容页面,则提示“已经顶过”。如果出现其他异常错误,则提示“暂时不能顶”。如果出现该情况,请及时反馈,以便我查找原因。

3、点击完成后,“顶一下”变成“查看”,点“查看”则可以查看全站Digg榜。所有文章、图片、下载、影视频道的“前10顶”会在这里列出。

五、补充说明:

1、为了方便用户使用,digg.php还特别设置了URL参数。例如:

(1)如果只列出所有使用文章模块的频道,可以使用digg.php?module=article。这样,如果你有两个文章模块的频道,则列出该两个频道的“前10顶”。图片=picture;下载=download;影视=movie

(2)如果只列出某单个频道的数据,可以使用digg.php?channelid=n。n是该频道的id。你可以在频道管理的地方查到这个id。

2、digg.php的前面还有一些变量可以自由修改。

根据网站用户群的不同,不同的网站每天访客的数量不同,大家“顶”的数量也会不同。由于每一顶都会存入数据库,因此,如果“顶”的太多也会造成数据库的负担。特别是digg.php列出的“前10顶”的榜单,由于是跨频道设计,因此数据库查询非常大,极其消耗资源。因此,有以下的变量可以进行设置。

$diggcfg['delete'] = '8';  //digg数据存储的最长时间,默认设置8天。该时间戳以前的digg数据将被删除

$diggcfg['refresh'] = '600'; //digg页面的数据更新时间,默认为10分钟,即600秒。该时间以内读取缓存文件,该时间以外重新查询数据库并重新建立缓存

现在程序中显示的是最近24小时和最近一周的“前10顶”。因此,$diggcfg['delete']的数量应大于7。如果你的网站“顶”得太多,数据库就会占据很大空间。不妨考虑减少这个值,相应的,重新设置第二个榜单的有效期。

为了减少数据库的查询,使用了缓存技术。$diggcfg['refresh']就是设置的缓存有效期。如果已经存在一个缓存在有效期内,那么就读取该缓存数据。否则,重新查询数据库,重新建立缓存。所以,您在digg.php看到的榜单可能会就是9分59秒之前的榜单。

此外$diggcfg['title'] = "Digg榜"; 可以设置页面的名称。

3、如果你的某个频道不希望参加“顶一下”的功能,那么就不要修改该频道的模板。保持原模板就好。

4、如果你曾经修改过模板和样式文件,那么只需要在相应的模板添加这些代码。

(1)header.html,位于templates/模板名/phpcms/header.html和templates/模板名/movie/header.html(天知道为什么影视频道会自己单独使用header)

复制代码

(添加到前面)

(2)content.html,位于templates/模板名/aritcle或picture或movie或download/content.html

0

顶一下

showDiggCount('{$CHA['module']}','{$channelid}','{$articleid}');

复制代码

(添加到你喜欢的地方,其他频道分别相应将上面的4处$articleid的改成$downid $pictureid $movieid,如果不明白请参考程序包中给出的模板,进行对比。)

(3)style.css,位于templates/模板名/skin/风格名/style.css

/** 和Digg有关的CSS **/

.diggDiv {

background: url("images/diggbj.gif")  no-repeat;

width: 61px;

height: 68px;

margin: 10px 0 0 5px;

text-align: center;

/*float: left;*/

}

.diggDivCount {

font-family: Arial, sans-serif;

width: 58px;

height: 28px;

margin-top: 10px;

font-size: 16px;

font-weight: bold;

}

.diggDivDo {

margin-top: 5px;

width: 58px;

height: 20px;

font-size: 12px;

}

.digg {

margin:0 auto;

padding:0px;

width:980px;

}

.diggnav {

padding-left:10px;

height:30px;

line-height:30px;

border-top:1px solid #ccc;

border-bottom:1px solid #ccc;

font-size: 16px;

font-weight: bold;

}

.diggleft {

float:left;

width:640px;

padding-top:10px;

}

.diggright {

float:right;

width:320px;

padding-top:10px;

}

.digglist {

float:left;

width: 540px;

height: 69px;

overflow: hidden;

margin: 10px 0 0 10px;

text-align: left;

float: left;

}

.digglistTitle {

width: 100%;

height: 28px;

overflow: hidden;

font-size: 16px;

}

.digglistIntro {

width: 100%;

height: 16px;

overflow: hidden;

}

.diggrlist {

float:left;

height:30px;

text-align: left;

}

.diggrlistCount {

margin:5px 0 0 0;

height: 30px;

width: 45px;

text-align: center;

background:url("images/diggbj2.gif") no-repeat;

line-height: 30px;

float:left;

}

.diggrlistTitle {

margin:5px 0 0 10px;

height: 30px;

width: 250px;

text-align: left;

line-height: 30px;

overflow: hidden;

float:left;

}

.digghr {

clear:both;

margin:5px 0 -10px 0;

height:1px;

background:url("images/diggpoint.gif") repeat-x;

}

复制代码

(添加到最后即可)

六、其他1、本插件由蚂蚁呱呱叫制作。开放源码,允许大家修改加工和传播,但是应当注明作者中有蚂蚁呱呱叫。

2、由本插件产生的一切法律纠纷或者财产损失等,蚂蚁呱呱叫概不负责。你应当提前做好必要的准备。

3、鸣谢 淡淡风、年华、phpip、jackiedong

4、本插件的技术支持,请在bbs.phpcms.cn官方论坛讨论。或者和我联系

(1)邮件:web at xingbin.net

(2)留言:www.xingbin.net,www.xingbin.name,留言板

蚂蚁呱呱叫保留修改此插件和使用说明而不事前通知你的权利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值