免费国外空间,国外免费空间,'s Archiver

seoqing 发表于 2010-1-19 10:59

仿Digg插件 的首页、列表页调用投票插件for DedeCMS v4.X

名称: 仿Digg 我顶! DEDE插件
目的: 改变文章投票方式,页面更美观~
针对版本: DEDE3.1 DEDE 4.X
说明:

其实这个插件很简单,只是把投票方式改了一种表示方法,但是效果很好,呵呵,需要的朋友可以往下看安装方法:P

原理: 同投票.

安装方法:

1.archives 数据表新增 vote (投票统计,与原来投票系统分开),并创建投票统计表
新增vote字段
ALTER TABLE `dede_archives` ADD `vote` INT DEFAULT '0' NOT NULL ;
创建统计表
CREATE TABLE `dede_review` (
`id` int(11) NOT NULL auto_increment,
`str_ip` varchar(32) NOT NULL,
`num_arc` int(11) NOT NULL,
`date_review` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `str_ip` (`str_ip`,`num_arc`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=66 ;
2.把附件中的JS目录放置到对应模板目录下,并在模板页面中调用
<script language=java script src="/templets/你的模板目录/js/prototype.js"></script>
<script language=java script src="/templets/你的模板目录/js/moo.fx.js"></script>
3.模板页面添加JS
function wo_ding(num_id)
{
url = "/plus/wo_ding.php?aid="+num_id+"&post=vote&m=" + Math.random();
new ajax(url, {method: 'get', onComplete:return_review});
}
function return_review(ajax)
{
str_error_num = ajax.responseText
if(str_error_num==0)
{
  alert("操作失误,或者用户重复评分,这次评分无效...");
}
else
{
  alert("感谢您的投票,谢谢...^_^")
  $("s_ding").innerHTML = str_error_num;
}
}
4.模板页面添加 我顶! 层标签
<div id="ding">
    <p class="vote_show"><a href="java script:wo_ding({dede:field name='ID'/});" title="给我顶到首页推荐!"><span id="s_ding"><script src="{dede:field name='phpurl'/}/wo_ding.php?aid={dede:field name='ID'/}&post=show" language="java script"></script></span></a></p>
    <p class="vote_action"><a href="java script:wo_ding({dede:field name='ID'/});" title="给我顶到首页推荐!">我顶!</a></p>
  </div>
5.添加CSS,可能需要自己微调
#ding
{
text-align:center;
margin:0 0 0 20px;
width:54px;
height:71px;
background:url(../images/vote.png) no-repeat;
}
#ding a
{
color:#333;
text-decoration:none;
}
#ding .vote_show
{
margin:10px 0 0 0;
font-size:25px;
font-weight:bold;
line-height:30px;
}
#ding .vote_action
{
margin:15px 0 0 0;
}
6.修改核心获取列表文件 include/inc/inc_fun_SpGetArcList.php

注意:如果你不太了解PHP记得在更新的地方[b]打上记号[/b].

第 65 行:
else if($orderby=='rand') $ordersql = " order by rand()";
修改为:
else if($orderby=='vote') $ordersql = " order by arc.vote $orderWay";
else if($orderby=='rand') $ordersql = " order by rand()";
DEDE 3.1 改动第 130 行
DEDE 4.x 改动第 152 行
就加了个“投票”字段的查询
arc.money,arc.litpic,arc.writer,arc.shorttitle,arc.memberid,
修改为:
arc.money,arc.litpic,arc.writer,arc.shorttitle,arc.memberid,arc.vote,
7.把附件中的PHP目录下的文件放置到plus目录下

8.images目录下的文件放到 你的模板目录 下的 images 目录下

9.安装完成,首页调用方法
{dede:arclist row=10 titlelen=24 orderby=vote}
·[field:textlink/]([field:vote/])<br/>
{/dede:arclist}
[b]以下是首页或列表页调用投票功能的改动

[/b]JS部分:
function wo_ding(num_id)
{
url = "/plus/wo_ding.php?aid="+num_id+"&post=vote&m=" + Math.random();
new ajax(url, {method: 'get', onComplete:return_review});
}
function return_review(ajax)
{
str_error_num = ajax.responseText
if(str_error_num==0)
{
  alert("操作失误,或者用户重复评分,这次评分无效...");
}
else
{
  alert("感谢您的投票,请继续浏览^_^")
  location.reload()
}
}
模板标签部分:
<div id="ding">
    <p class="vote_show"><a href="java script:wo_ding([field:ID/]);" title="我顶!"><span id="s_ding">[field:vote/]</span></a></p>
    <p class="vote_action"><a href="java script:wo_ding([field:ID/]);" title="我顶!">我顶!</a></p>
</div>
这么修改主要是为了 首页不用多次调用php取文章取投票数,注意首页必须为动态
[url=http://www.17cha8.cn/bencandy.php?fid-41-id-3874-page-1.htm]
下载[/url]

页: [1]


Powered by Discuz! Archiver 7.2  © 2001-2012 Comsenz Inc.