AGAMES 討論區

 找回密碼
 快速註冊
搜索
查看: 6447|回復: 2
打印 上一主題 下一主題

論壇版塊直排系統 v1.1 For DZ7 [複製鏈接]

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

帖子
3799
EXP
6040 點
金幣
4990 個
好友
0
註冊時間
2008-3-27

友誼之星勳章

跳轉到指定樓層
樓主
發表於 2009-1-21 17:37:14 |只看該作者 |倒序瀏覽
作者: ntf
修改: CK 極少量修改
插件名稱: 社區直排顯示 1.1
程序版本: Discuz! 7.0.0
原帖: http://www.alan888.com/Discuz/thread-159765-1-1.html
演示: http://discuz.ckfreehost.com/bc6

安裝方法:
1.先備份論壇

2.數據庫升級
  進入 系統設置>>工具>>數據庫>>數據升級>>貼上sql數據>>提交

  1. ALTER TABLE `cdb_forums` ADD `straightdisplay` SMALLINT( 1 ) NOT NULL DEFAULT '0';
複製代碼

3.上傳文件(附件中管理平台內的file)

4.修改 index.php & discuz.htm
找 index.php

  1. unset($_DCACHE['announcements']);
複製代碼

下加
  1. // Edit by ntf Start

  2. $showforumlist=empty($_GET['showforumlist']) ? $_DCOOKIE['showforumlist'] : addslashes($_GET['showforumlist']);
  3. if(!$_DCOOKIE['showforumlist'] or ($_DCOOKIE['showforumlist']!=$showforumlist)){
  4.         $sdsetcookie =!empty($showforumlist) ? $showforumlist : 'straightdisplay';
  5.         dsetcookie('showforumlist', $sdsetcookie ,$timestamp+3600000);
  6.         $_DCOOKIE['showforumlist']=$sdsetcookie;
  7.         $showforumlist=$sdsetcookie;
  8. }

  9. if($showforumlist=='straightdisplay'){
  10.         require_once './forumdata/cache/plugin_straightdisplay.php';
  11.         $display_one = $_DPLUGIN['straightdisplay']['vars']['display_one'];      
  12.         $display_two= $_DPLUGIN['straightdisplay']['vars']['display_two'];
  13.         $display_three= $_DPLUGIN['straightdisplay']['vars']['display_three'];      
  14.         $display_four= $_DPLUGIN['straightdisplay']['vars']['display_four'];

  15.         $sql = !empty($accessmasks) ?
  16.                                 "SELECT f.straightdisplay,f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm, a.allowview FROM {$tablepre}forums f
  17.                                         LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid
  18.                                         LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
  19.                                         WHERE f.status>0 ORDER BY f.type, f.displayorder"
  20.                                 : "SELECT f.straightdisplay,f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, f.simple, ff.description, ff.moderators, ff.icon, ff.viewperm FROM {$tablepre}forums f
  21.                                         LEFT JOIN {$tablepre}forumfields ff USING(fid)
  22.                                         WHERE f.status>0 ORDER BY f.type, f.displayorder";

  23.         $query = $db->query($sql);
  24.         while($forum = $db->fetch_array($query)) {
  25.                 $forumname[$forum['fid']] = strip_tags($forum['name']);
  26.                 if($forum['type'] != 'group') {
  27.                         $threads += $forum['threads'];
  28.                         $posts += $forum['posts'];
  29.                         $todayposts += $forum['todayposts'];

  30.                         if($forum['type'] == 'forum') {
  31.                                 if(forum($forum)) {

  32. $thissdvalue='catlistone';

  33. switch($forum[straightdisplay]){
  34. case'1':
  35.                                         $catlistone[$forum['fup']]['forums'][] = $forum['fid'];
  36.                                         $forum['orderid'] = $catlistone[$forum['fup']]['forumscount']++;
  37. break;
  38. case'2':
  39.                                         $catlisttwo[$forum['fup']]['forums'][] = $forum['fid'];
  40.                                         $forum['orderid'] = $catlisttwo[$forum['fup']]['forumscount']++;

  41. break;
  42. case'3':
  43.                                         $catlistthree[$forum['fup']]['forums'][] = $forum['fid'];
  44.                                         $forum['orderid'] = $catlistthree[$forum['fup']]['forumscount']++;

  45. break;
  46. case'4':
  47.                                         $catlistfour[$forum['fup']]['forums'][] = $forum['fid'];
  48.                                         $forum['orderid'] = $catlistfour[$forum['fup']]['forumscount']++;
  49. break;
  50. }




  51.                                        
  52.                                         $forum['subforums'] = '';
  53.                                         $forumlist[$forum['fid']] = $forum;
  54.                                 }

  55.                         } elseif(isset($forumlist[$forum['fup']])) {

  56.                                 $forumlist[$forum['fup']]['threads'] += $forum['threads'];
  57.                                 $forumlist[$forum['fup']]['posts'] += $forum['posts'];
  58.                                 $forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
  59.                                 if($subforumsindex && $forumlist[$forum['fup']]['permission'] == 2 && !($forumlist[$forum['fup']]['simple'] & 16) || ($forumlist[$forum['fup']]['simple'] & 8)) {

  60. $forumlist[$forum['fup']]['subforums'] .= '<li><a href="forumdisplay.php?fid='.$forum['fid'].'">'.$forum['name'].'</a></li>';
  61.                                 }

  62.                         }
  63.                 } else {

  64.                         if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_'.$forum['fid']) === FALSE) {
  65.                                 $forum['collapseimg'] = 'collapsed_no.gif';
  66.                                 $collapse['category_'.$forum['fid']] = '';
  67.                         } else {
  68.                                 $forum['collapseimg'] = 'collapsed_yes.gif';
  69.                                 $collapse['category_'.$forum['fid']] = 'display: none';
  70.                         }

  71.                         if($forum['moderators']) {
  72.                                  $forum['moderators'] = moddisplay($forum['moderators'], 'flat');
  73.                         }
  74.                         $forum['forumscount']         = 0;

  75. switch($forum[straightdisplay]){
  76. case'1':
  77.         $catlistone[$forum['fid']] = $forum;
  78. break;
  79. case'2':
  80.         $catlisttwo[$forum['fid']] = $forum;
  81. break;
  82. case'3':
  83.         $catlistthree[$forum['fid']] = $forum;
  84. break;
  85. case'4':
  86.                 $catlistfour[$forum['fid']] = $forum;
  87. break;
  88. }

  89.                        
  90.                 }
  91.         }

  92. }else{
  93.         //Edit by ntf End
複製代碼



  1.         unset($catid, $category);

  2.         if(isset($catlist[0]) && $catlist[0]['forumscount']) {
  3.                 $catlist[0]['fid'] = 0;
  4.                 $catlist[0]['type'] = 'group';
  5.                 $catlist[0]['name'] = $bbname;
  6.                 $catlist[0]['collapseimg'] = 'collapsed_no.gif';
  7.         } else {
  8.                 unset($catlist[0]);
  9.         }
複製代碼

下加

  1. } //Edit by Ntf
複製代碼

打開 templates/ * /discuz.htm  其中*為所有存在的資料夾



  1. <!--{loop $catlist $key $cat}-->
  2.         <!--{if $cat['forumscount']}-->
  3.                 <div class="mainbox list">
  4.                         <span class="headactions">
  5.                                 <!--{if $cat['moderators']}-->{lang forum_category_modedby}: $cat[moderators]<!--{/if}-->
  6.                                 <img id="category_$cat[fid]_img" src="{IMGDIR}/$cat[collapseimg]" title="{lang spread}" alt="{lang spread}" onclick="toggle_collapse('category_$cat[fid]');" />
  7.                         </span>
  8.                         <h3><a href="$indexname?gid=$cat[fid]">$cat[name]</a></h3>
  9.                         <table id="category_$cat[fid]" summary="category$cat[fid]" cellspacing="0" cellpadding="0" style="$collapse['category_'.$cat[fid]]">
  10.                         <!--{if !$cat['forumcolumns']}-->
  11.                                 <!--{loop $cat[forums] $forumid}-->
  12.                                         <!--{eval $forum=$forumlist[$forumid];}-->
  13.                                         <tbody id="forum$forum[fid]">
  14.                                                 <tr>
  15.                                                         <th$forum[folder]>
  16.                                                                 $forum[icon]
  17.                                                                 <div class="left">
  18.                                                                 <h2><a href="forumdisplay.php?fid=$forum[fid]" {if $forum[redirect]}target="_blank"{/if}>$forum[name]</a><!--{if $forum[todayposts] && !$forum['redirect']}--><em> ({lang index_today}: <strong>$forum[todayposts]</strong>)</em><!--{/if}--></h2>
  19.                                                                 <!--{if $forum[description]}--><p>$forum[description]</p><!--{/if}-->
  20.                                                                 <!--{if $forum['subforums']}--><p>{lang forum_subforums}: $forum['subforums']</p><!--{/if}-->
  21.                                                                 <!--{if $forum['moderators']}--><!--{if $moddisplay == 'flat'}--><p>{lang forum_moderators}: $forum[moderators]</p><!--{else}--><span class="dropmenu" id="mod$forum[fid]" onmouseover="showMenu(this.id)">{lang forum_moderators}</span><ul class="moderators popupmenu_popup" id="mod$forum[fid]_menu" style="display: none">$forum[moderators]</ul><!--{/if}--><!--{/if}-->
  22.                                                                 </div>
  23.                                                         </th>
  24.                                                         <td class="forumnums">
  25.                                                                 <!--{if $forum['redirect']}-->N/A<!--{else}--><em>$forum[threads]</em> / $forum[posts]<!--{/if}-->
  26.                                                         </td>
  27.                                                         <td class="forumlast">
  28.                                                         <!--{if $forum['permission'] == 1}-->
  29.                                                                 {lang private_forum}
  30.                                                         <!--{else}-->
  31.                                                                 <!--{if $forum['redirect']}-->
  32.                                                                         <a href="forumdisplay.php?fid=$forum[fid]">{lang url_link}</a>
  33.                                                                 <!--{elseif is_array($forum['lastpost'])}-->
  34.                                                                         <p><a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost">{echo cutstr($forum[lastpost][subject], 30)}</a></p>
  35.                                                                         <cite><!--{if $forum['lastpost']['author']}-->$forum['lastpost']['author']<!--{else}-->{lang anonymous}<!--{/if}--> - $forum[lastpost][dateline]</cite>
  36.                                                                 <!--{else}-->
  37.                                                                         {lang never}
  38.                                                                 <!--{/if}-->
  39.                                                         <!--{/if}-->
  40.                                                         </td>
  41.                                                 </tr>
  42.                                         </tbody>
  43.                                 <!--{/loop}-->
  44.                         <!--{else}-->
  45.                                 <tr class="narrowlist">
  46.                                 <!--{loop $cat['forums'] $forumid}-->
  47.                                         <!--{eval $forum=$forumlist[$forumid];}-->
  48.                                         <!--{if $forum['orderid'] && ($forum['orderid'] % $cat['forumcolumns'] == 0)}-->
  49.                                                 </tr></tbody>
  50.                                                 <!--{if $forum['orderid'] < $cat['forumscount']}-->
  51.                                                         <tbody><tr>
  52.                                                 <!--{/if}-->
  53.                                         <!--{/if}-->
  54.                                         <th width="$cat[forumcolwidth]"{$forum[folder]}>
  55.                                                 <h2><a href="forumdisplay.php?fid=$forum[fid]" {if $forum[redirect]}target="_blank"{/if}>$forum[name]</a><!--{if $forum[todayposts]}--><em> ({lang index_today}: <strong>$forum[todayposts]</strong>)</em><!--{/if}--></h2>
  56.                                                 <!--{if !$forum[redirect]}-->
  57.                                                         <p>{lang forum_threads}: $forum[threads], {lang forum_posts}: $forum[posts]</p>
  58.                                                         <!--{if $forum['permission'] == 1}-->
  59.                                                                 <p>{lang private_forum}
  60.                                                         <!--{else}-->
  61.                                                                 <p>{lang forum_lastpost}:
  62.                                                                         <!--{if is_array($forum['lastpost'])}-->
  63.                                                                                 <a href="redirect.php?tid=$forum[lastpost][tid]&goto=lastpost#lastpost" title="{echo cutstr($forum[lastpost][subject], 30)} {lang forum_lastpost_by} {if $forum['lastpost']['author']}$forum['lastpost']['authorusername']{else}{lang anonymous}{/if}  ">$forum[lastpost][dateline]</a>
  64.                                                                         <!--{else}-->
  65.                                                                                 {lang never}
  66.                                                                         <!--{/if}-->
  67.                                                                 </p>
  68.                                                         <!--{/if}-->
  69.                                                 <!--{else}-->
  70.                                                         <p>{lang url_link}</p>
  71.                                                 <!--{/if}-->
  72.                                         </th>
  73.                                 <!--{/loop}-->
  74.                                 $cat['endrows']
  75.                         <!--{/if}-->
  76.                         </table>
  77.                 </div>
  78.                 <!--{if !empty($insenz['vfstatus']) && $insenz['vfpos'] == 'rand' && $key == $rkey}--><script type="text/javascript" src="campaign.php?action=list"></script><!--{/if}-->
  79.                 <!--{if $admode && empty($insenz['hardadstatus']) && !empty($advlist['intercat']) && ($advlist['intercat'][$key] = array_merge(($advlist['intercat'][0] ? $advlist['intercat'][0] : array()), ($advlist['intercat'][$key] ? $advlist['intercat'][$key] : array())))}--><div class="ad_column" id="ad_intercat_$key"><!--{echo $advitems[$advlist['intercat'][$key][array_rand($advlist['intercat'][$key])]]}--></div><!--{else}--><div id="ad_intercat_$key"></div><!--{/if}-->
  80.         <!--{/if}-->
  81. <!--{/loop}-->
複製代碼

改為

  1. <!--{if $gid || $showforumlist == 'default'}-->
  2. {template forumlist_default}
  3. <!--{elseif empty($gid) && $showforumlist == 'straightdisplay'}-->
  4. {template forumlist_straightdisplay}
  5. <!--{/if}-->
複製代碼

直排 / 橫排互換功能(如需要)
在顯示的位置上加
  1. <!--{if $gid || $showforumlist == 'default'}-->
  2. <a href="index.php?showforumlist=straightdisplay">變更為直排顯示</a>
  3. <!--{elseif empty($gid) && $showforumlist == 'straightdisplay'}-->
  4. <a href="index.php?showforumlist=default">變更為普通顯示</a>
  5. <!--{/if}-->
複製代碼

5.插件導入數據(在附件內的 discuz_plugin_straightdisplay.txt)

6.更新直排數據
  請變更/新增版塊後 到 社區直排管理平台系統 直接按 [提交] 更新


如果你不想設計 , 請直接上載附件內的 風格檔1 或 風格檔2


**修改論壇分區圖片**
如果選用風格一
**修改論壇分區圖片**
1.為每一個論壇分區設計圖片(可用 images/forum/logo.gif 修改)
2.更改檔案名稱gid(版塊id).gif,假設論壇分區的 id 是 9,檔案名稱 => gid9.gif
3.上傳論壇圖片 images/forum/*.*

如果選用風格二
1.為每一個論壇分區設計圖片(可用 images/forum/title_blue_notext.jpg 修改)
2.更改檔案名稱title_(版塊id).jpg,假設論壇分區的 id 是 9,檔案名稱 => title_9.jpg
3.上傳論壇圖片 images/forum/*.*
附件: 你需要登錄才可以下載或查看附件。沒有帳號?快速註冊
Alta Multimedia - Youtube:http://www.youtube.com/user/altahk

Rank: 1

帖子
1
EXP
1 點
金幣
1 個
好友
0
註冊時間
2009-2-8
2
發表於 2009-2-14 00:18:00 |只看該作者
我想問 選用風格一 可以用jpg嗎~??

我改左forumlist_straightdisplay.htm 都唔得...

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

帖子
3799
EXP
6040 點
金幣
4990 個
好友
0
註冊時間
2008-3-27

友誼之星勳章

3
發表於 2009-2-14 10:39:44 |只看該作者

回覆 2樓 jack1990125 的帖子

唔可以!要用gif!
你想既話!不如用
風格二!可以用jpg
又「令」又好睇!
您需要登錄後才可以回帖 登錄 | 快速註冊

Archiver|手機版|AGAMES 討論區

GMT+8, 2024-11-30 05:20 , Processed in 0.050723 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部