请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz! X 最新研发动态 通过这个窗口,关注跟踪我们的研发进展 Discuz! 开发技术文库 - 给官方提建议

Discuz! X2 正式版下载 帮助网站实现一站式服务  商业支持服务咨询 下载 - 安装 - 常见问题 - 转换 - 讨论 - 购买

2012站长年会开启报名 限量船票免费发放 Discuz!十大荣誉用户评选 - Discuz!NT3.6发布 漫游引入QQ空间游戏 -一骑新区横扫三国-5d6d免费论坛

查看: 16239|回复: 56

[发布] 正确的主题列表显示详细评分For Dz 6.0 [复制链接]

Rank: 2

UID
456418
积分
79
帖子
86
威望
0
在线时间
1 小时
注册时间
2006-10-7
发表于 2007-10-15 20:47:11 |显示全部楼层
已修正原先的笔误

此帖不是原创
是更改5.5的插件而来
找了一下,没自己喜欢的,干脆修改一下发布这个无错的主题列表显示详细评分
经过自己论坛Discuz! 6.0.0测试无误

插件名称:主题列表显示详细评分For Dz 6.0
适用版本:Discuz 6.0
修改档案: forumdisplay.php
修改模版: forumdisplay.htm

一、修改 forumdisplay.php

查找:
  1. $querysticky = '';
  2. $query = $db->query("SELECT t.* FROM {$tablepre}threads t
  3.   WHERE t.fid='$fid' $filteradd AND $displayorderadd
  4.   ORDER BY t.displayorder DESC, t.$orderby $ascdesc
  5.   LIMIT ".($filterbool ? $start_limit : $start_limit - $stickycount).", $tpp");
  6. } else {
  7. $querysticky = $db->query("SELECT t.* FROM {$tablepre}threads t
  8.   WHERE t.tid IN ($stickytids) AND t.displayorder IN (2, 3)
  9.   ORDER BY displayorder DESC, $orderby $ascdesc
  10.   LIMIT $start_limit, ".($stickycount - $start_limit < $tpp ? $stickycount - $start_limit : $tpp));
  11. if($tpp - $stickycount + $start_limit > 0) {
  12.   $query = $db->query("SELECT t.* FROM {$tablepre}threads t
  13.    WHERE t.fid='$fid' $filteradd AND $displayorderadd
  14.    ORDER BY displayorder DESC, $orderby $ascdesc
  15.    LIMIT ".($tpp - $stickycount + $start_limit));
  16. } else {
  17.   $query = '';
复制代码
替换为:
  1. $querysticky = '';
  2.         $query = $db->query("SELECT t.*, p.rate, p.pid FROM {$tablepre}threads t
  3.                 LEFT JOIN {$tablepre}posts p USING(tid, dateline)
  4.                 WHERE t.fid='$fid' $filteradd AND $displayorderadd
  5.                 ORDER BY t.displayorder DESC, t.$orderby $ascdesc
  6.                 LIMIT ".($filterbool ? $start_limit : $start_limit - $stickycount).", $tpp");

  7. } else {

  8.         $querysticky = $db->query("SELECT t.*, p.rate,p.pid FROM {$tablepre}threads t
  9.                 LEFT JOIN {$tablepre}posts p USING(tid, dateline)
  10.                 WHERE t.tid IN ($stickytids) AND t.displayorder IN (2, 3)
  11.                 ORDER BY displayorder DESC, $orderby $ascdesc
  12.                 LIMIT $start_limit, ".($stickycount - $start_limit < $tpp ? $stickycount - $start_limit : $tpp));

  13.         if($tpp - $stickycount + $start_limit > 0) {
  14.                 $query = $db->query("SELECT t.*, p.rate,p.pid FROM {$tablepre}threads t
  15.                       LEFT JOIN {$tablepre}posts p USING(tid, dateline)
  16.                         WHERE t.fid='$fid' $filteradd AND $displayorderadd
  17.                         ORDER BY displayorder DESC, $orderby $ascdesc
  18.                         LIMIT ".($tpp - $stickycount + $start_limit));
  19.         } else {
  20.                 $query = '';
复制代码
查找:
  1. $threadlist[] = $thread;
复制代码
下面一行新增加
  1. $tpids[] = $thread['pid'];
复制代码
查找:
  1. $separatepos = $separatepos ? $separatepos + 1 : ($announcement ? 1 : 0);
复制代码
上面新增:
  1. if (is_array($tpids) && count($tpids)>0){
  2.         $tpids = array_filter($tpids,create_function('$_','return is_numeric($_);'));
  3.         @$pids = implode(",",$tpids);
  4.         if ($pids) {
  5.          @$detail_query = $db->query("SELECT * FROM {$tablepre}ratelog WHERE pid IN ($pids)");
  6.          if ($detail_query){
  7.           while ($row = $db->fetch_array($detail_query)){
  8.                   $detail_rate[$row['pid']][$row['extcredits']] += $row['score'];
  9.           }
  10.          } else {
  11.            $detail_rate = array();
  12.          }
  13.         }
  14. }
复制代码
二、修改forumdisplay.htm
查找:
  1. <!--{if $thread['rate'] > 0}-->
  2.                         <img src="{IMGDIR}/agree.gif" alt="" />
  3.                 <!--{elseif $thread['rate'] < 0}-->
  4.                         <img src="{IMGDIR}/disagree.gif" alt="" />
  5.                 <!--{/if}-->
复制代码
替换为:
  1.                                         <!--{if $thread['rate']}-->
  2.             <!--{loop $detail_rate[$thread[pid]] $k $v}-->
  3.                 [<font color=#00FF00> $extcredits[$k][title]
  4.                 <!--{eval echo sprintf("%+d",$v);}--> </font>]
  5.             <!--{/loop}-->
  6.                     <!--{/if}-->
复制代码
演示请见附件:

喜欢的话,有空到我的论坛坐坐吧~

[ 本帖最后由 bistpon1 于 2007-10-17 21:31 编辑 ]
ClipBoard-1.jpg
已有 2 人评分金币 收起 理由
zhenyusen + 1 我很赞同
javascrif + 1 精品文章

总评分: 金币 + 2   查看全部评分

Rank: 3Rank: 3

UID
28024
积分
424
帖子
140
威望
0
在线时间
1 小时
注册时间
2003-9-19
发表于 2007-10-15 21:27:21 |显示全部楼层
占个位置...留个脚印

使用道具 举报

Rank: 2

UID
838580
积分
56
帖子
89
威望
-3
在线时间
10 小时
注册时间
2007-10-13
发表于 2007-10-15 21:40:21 |显示全部楼层
位置~

使用道具 举报

Rank: 2

UID
787739
积分
144
帖子
180
威望
0
在线时间
0 小时
注册时间
2007-8-30
发表于 2007-10-15 22:27:23 |显示全部楼层
占个位置........
罗伊-杜论坛
http://www.roydu.cn

使用道具 举报

Rank: 6Rank: 6

UID
330342
积分
2434
帖子
1114
威望
16
在线时间
1 小时
注册时间
2006-3-15
发表于 2007-10-15 23:57:33 |显示全部楼层
留个位,支持支持
欢迎光临 玫瑰天空免费网盘、图库
http://www.rosesky.name[风格|插件大收藏]

使用道具 举报

Rank: 1

UID
821784
积分
42
帖子
52
威望
0
在线时间
0 小时
注册时间
2007-9-23
发表于 2007-10-16 03:10:06 |显示全部楼层
按照你的方法改了,我全部的帖子就看不到了

我又改了回来

使用道具 举报

Rank: 3Rank: 3

UID
259437
积分
240
帖子
280
威望
1
在线时间
0 小时
注册时间
2005-10-12
发表于 2007-10-16 09:34:12 |显示全部楼层
不行哦改完后,一个帖子都不显示了

使用道具 举报

Rank: 1

UID
407808
积分
13
帖子
16
威望
0
在线时间
0 小时
注册时间
2006-7-25
发表于 2007-10-17 10:40:32 |显示全部楼层
是啊,改了后都不显示帖子了
楼主请修正一下吧,很期待这个

使用道具 举报

Rank: 2

UID
339386
积分
124
帖子
142
威望
0
在线时间
2 小时
注册时间
2006-4-5
发表于 2007-10-17 11:11:44 |显示全部楼层
很想要,但看楼上几个回复怕了,不敢装了
[g]0/0/我们一直在努力……[/g][img]http://www.fj51.com/statspng.php[/img]

使用道具 举报

Rank: 2

UID
215754
积分
171
帖子
206
威望
0
在线时间
0 小时
注册时间
2005-6-30
发表于 2007-10-17 11:15:03 |显示全部楼层
期待楼主修正啊:) :)

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

fastpost

手机版|Archiver|北京康盛新创科技有限责任公司 ( 京ICP证110024号|京网文[2011]0019-007号 )  

GMT+8, 2012-2-13 07:57 , Processed in 0.198797 second(s), 17 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部