TShopping

 找回密碼
 註冊
搜索
查看: 6198|回復: 0

[教學] 論壇版塊直排系統 v2.0 For DZ7.x(修正版 IP Banned )

  [複製鏈接]
發表於 2011-4-8 19:29:19 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
本版本開始需在PHP5或更新的環境才可以運行。
本插件安裝需要有一定php的知識,新手有一定機率造成不明錯誤的情況。安裝前建議先備份一下。


本版本開始需在PHP5或更新的環境才可以運行。
界面走位等問題可能是由於界面風格設計的問題
首先上載文件

7.1&7.2: 找 include/index_classics.inc.php

這部份是變更用來讀取版區列表資料的代碼 , 方法是在上面加入新的代碼 及以If-Else 分開處理兩種不同的顯示模式
  1.         $sql = !empty($accessmasks) ?
  2.                                 "SELECT 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, ff.redirect, a.allowview FROM {$tablepre}forums f
  3.                                         LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid
  4.                                         LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
  5.                                         WHERE f.status='1' ORDER BY f.type, f.displayorder"
  6.                                 : "SELECT 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, ff.redirect FROM {$tablepre}forums f
  7.                                         LEFT JOIN {$tablepre}forumfields ff USING(fid)
  8.                                         WHERE f.status='1' ORDER BY f.type, f.displayorder";
複製代碼


上加

它載入直排的Class文件 及建立物件
以Try-catch方式 確保不會因錯誤而出現PHP上的錯誤

  1. // StraightDisplay Start
  2. require_once DISCUZ_ROOT.'./plugins/straightdisplay/straightdisplay.class.php';
  3. $sd = StraightDisplay::getInstance();
  4. try{
  5.         if(file_exists('./forumdata/cache/plugin_straightdisplay.php')){ //檢查插件設定檔
  6.                 include_once './forumdata/cache/plugin_straightdisplay.php';
  7.         }else{
  8.                 throw new StraightDisplayException('找不到插件設定檔,請進行更新緩存或論壇管理中心確保插件已經開啟。');
  9.         }

  10.         $sd->setConfig($_DPLUGIN['straightdisplay']['vars']);
  11.         if(!isset($_DCACHE['settings']['straightdisplayConfig'])){        //檢查版區顯示設定
  12.                 throw new StraightDisplayException('找不到版區顯示設定,請進行更新緩存或重新安裝。');
  13.         }
  14.         $sd->setDisplayConfig( unserialize($_DCACHE['settings']['straightdisplayConfig']) ); //套用版區顯示設定
  15. }catch(StraightDisplayException $e ){
  16.         StraightDisplayException::ExceptionHandler($e); //顯示錯誤訊息
  17. }


  18. if($sd->CheckViewType()){
  19.          //目前以直排模式顯示
  20.         $sd->registerPlugin(array('StraightDisplayUserDragPlugin','init'),'BeforeDispatch');  //載入直排的其他插件
  21.         $data = $sd->dispatch();        //讀取所有資料         
  22.         list($group_list,$forumlist,$threads,$posts,$todayposts) = $data;
  23. }else{
  24. // StraightDisplay End 以下為 本來的顯示模式
複製代碼




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


下加
  1. } // Add by StraightDisplay
複製代碼



界面顯示方面
找 discuz.htm (每個風格中有discuz.htm的 都要修改)  /templates/*/discuz.htm

  1. <!--{loop $catlist $key $cat}-->
  2.         <!--{if $cat['forumscount']}-->
  3.                 <div class="mainbox list">
  4.                         <span class="headactions">
複製代碼


上加
  1. <!--{if empty($gid) && $sd->CheckViewType()}-->
  2. {template forumlist_straightdisplay}
  3. <!--{/if}-->
複製代碼







互換功能 顯示位置  (如需要提供 顯示模式的轉換 , 可參考以下代碼 , 一般情形下這部份可以不用理會) (請確保你知道自己在做什麼)

首頁使用 (discuz.htm)
  1. <!--{if empty($gid) && $sd->CheckViewType()}-->
  2. <a href="index.php?viewtype=default">變更為普通顯示</a>
  3. <!--{else}-->
  4. <a href="index.php?viewtype=straightdisplay">變更為直排顯示</a>
  5. <!--{/if}-->
複製代碼



其他頁面使用 (包括header.htm 或 footer.htm)
  1. <!--{eval require_once DISCUZ_ROOT.'./plugins/straightdisplay/straightdisplay.class.php';}-->
  2. <!--{eval $sd = StraightDisplay::getInstance();}-->
  3. <!--{if empty($gid) && $sd->CheckViewType()}-->
  4. <a href="index.php?viewtype=default">變更為普通顯示</a>
  5. <!--{else}-->
  6. <a href="index.php?viewtype=straightdisplay">變更為直排顯示</a>
  7. <!--{/if}-->
複製代碼




7.1 & 7.2 :
到插件管理安裝

7.0  :
7.0安裝 方法:
導入插件數據 : http://www.alan888.com/Discuz/vi ... p;page=2#pid1428092
執行Sql:
  1. INSERT INTO `cdb_settings` (`variable` ,`value`)VALUES ('straightdisplayConfig', '');
  2. ALTER TABLE `cdb_memberfields` ADD straightdisplayConfig TEXT;
複製代碼


反安裝:
  1. DELETE FROM `cdb_settings` WHERE `variable` = 'straightdisplayConfig' LIMIT 1;
  2. ALTER TABLE cdb_memberfields DROP straightdisplayConfig;

複製代碼



歡迎提供演示圖片
請測試一下,好了才正式使用。



新功能 :
修正積了很久的問題
修復 子版的開關
可以變更直排可顯示的行數
加入熱門及新版塊標示
管理頁面Drag and Drop化 , 可設定版區的上下位置
可以隱藏分區

測試中的新功能 :
會員可自定義 頁面版塊位置 (有開關) (不建議開啟)

6.0 : http://www.alan888.com/Discuz/thread-177206-1-1.html




錯誤解決方法:
找不到版區顯示設定,請進行更新緩存或重新安裝。
請到管理系統設定版區位置,更新緩存。
如無法顯示版區  可試試用測試檔案 檢查 安裝是否正確 ( 不包括人手修改的代碼
http://www.alan888.com/Discuz/vi ... ;page=12#pid1436106



直排風格製作圖片活動教學
找到
\images\forum 目錄下的圖檔
把圖檔改成 gidX.jpg 上傳即可
gidX.jpg X 代表的是板塊圖片

加新帖   NEW
跟熱門   HOT
方法!!


請找到(不需全部一樣。。。只要紅字 )
  1. <IMG hspace=5 src="images/home/bullet_blue.gif" align=absMiddle vspace=11><a href="forumdisplay.php?fid=$forum[fid]" title="今日帖數:$forum[todayposts] {LF}主題數目:$forum[threads] {LF}帖子數目:$forum[posts]" class=orangelink>$forum[name]</a>
複製代碼



有紅色字的那行   在這行下面  添加
  1. <!--{if $forum[todayposts] >= 10}-->
  2. <img src="images/home/hot.gif" alt="總共帖數:$forum[todayposts]">
  3. <!--{elseif $forum[todayposts] >0 &&  $forum[todayposts] <10}-->
  4. <span class="todayposts"><img src="images/home/new.gif" alt="此版今日有$forum[todayposts]帖" width="21" height="9" border="0"></span>
  5. <!--{/if}-->
複製代碼


這樣就可以了

紅色  熱門的判斷       > 10   大表   如果當日文章大於10  顯示熱門  hot
紫色 是有無新帖的判斷  如果  文章有0篇以上  >0  而且 少於 10篇  就顯示  new (如果大於10篇就是顯示 hot 如果想要兩個都顯示  就去掉&&  $forum[todayposts] <10)



下面是以寬度 190px 做的,字元大小是 1.1em

 

臉書網友討論

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-3-19 12:21 , Processed in 0.087590 second(s), 20 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表