Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] FOR 4.1 每區獨立設定顯示多少條論壇公告

[复制链接]
別問我是誰 发表于 2006-4-28 06:55:08 | 显示全部楼层 |阅读模式


===================================================================



===================================================================



===================================================================



===================================================================

 這個只適用 4.1 想要 4.0 請到 4.0 插件區找找

 若板區置頂太多 可設定顯示一條公告

 若置頂太少 又可設定顯示多幾條公告

 完全讀取 cache 不會增加數據庫查詢

===================================================================

 修改檔案 ( 修改前請先備份 )

include/cache.func.php
admin/forums.inc.php

forumdisplay.php

templates/default/forumdisplay.htm ( 其它風格有這份檔亦要修改 )
templates/default/admincp.lang.php

 ( 完成後緊記 更新緩存 )

===================================================================

 數據庫升級

  1. ALTER TABLE `cdb_forums` ADD `fourmannnum` MEDIUMINT( 8 ) NOT NULL DEFAULT '1' ;
复制代码


===================================================================

include/cache.func.php



  1. $conditions = "LEFT JOIN {$tablepre}members m ON m.username=a.author WHERE a.starttime<='$timestamp' ORDER BY a.displayorder, a.starttime DESC, a.id DESC LIMIT 1";
复制代码


改為

  1. $conditions = "LEFT JOIN {$tablepre}members m ON m.username=a.author WHERE a.starttime<='$timestamp' ORDER BY a.displayorder, a.starttime DESC, a.id DESC LIMIT 0, 10";
复制代码


再找

  1.                 case 'announcements_forum':
  2.                         if($data = $db->fetch_array($query)) {
  3.                                 $data['authorid'] = intval($data['authorid']);
  4.                                 $data['message'] = cutstr(strip_tags($data['message']), 18);
  5.                         } else {
  6.                                 $data = array();
  7.                         }
  8.                         break;
复制代码
改為
  1.                 case 'announcements_forum':
  2.                                 while($anndata = $db->fetch_array($query)) {
  3.                                 $anndata['authorid'] = intval($anndata['authorid']);
  4.                                 $anndata['message'] = cutstr(strip_tags($anndata['message']), 30);
  5.                                 $data[] = $anndata;
  6.                         }
  7.                         break;
复制代码


===================================================================

forumdisplay.php


  1. if($page == 1) {
  2.         if($_DCACHE['announcements_forum']) {
  3.                 $announcement = $_DCACHE['announcements_forum'];
  4.                 $announcement['starttime'] = gmdate($dateformat, $announcement['starttime'] + ($timeoffset * 3600));
  5.         } else {
  6.                 $announcement = NULL;
  7.         }       
  8. }
复制代码
改為
  1. if($page == 1) {
  2.                 if($_DCACHE['announcements_forum']) {
  3.         $fourmannnum = $forum['fourmannnum'];
  4.         $announcementnum = 0;
  5.                 foreach($_DCACHE['announcements_forum'] as $announcement) {
  6.         $announcementnum++;
  7.                 if ($announcementnum <= $fourmannnum) {
  8.                 $announcement['starttime'] = gmdate($dateformat, $announcement['starttime'] + ($timeoffset * 3600));
  9.                 $announcement_list[] = $announcement;
  10.                 }
  11.                 }
  12.         } else {
  13.                 $announcement = NULL;
  14.         }       
  15. }
复制代码


===================================================================

templates/default/forumdisplay.htm ( 其它風格有這份檔亦要修改 )


  1. <!--{if $page == 1 && !empty($announcement)}-->
  2.         <tr>
  3.         <td class="altbg2" align="center"><a href="announcement.php?id=$announcement[id]#$announcement[id]" target="_blank"><img src="{IMGDIR}/lock_folder.gif" border="0"></a></td>
  4.         <td class="altbg2" colspan="2" onMouseOver="this.className='altbg1'" onMouseOut="this.className='altbg2'">{lang announcement}: <a href="announcement.php?id=$announcement[id]#$announcement[id]">$announcement[subject]</a></td>
  5.         <td class="altbg1" align="center"><a href="viewpro.php?uid=$announcement[authorid]">$announcement[author]</a><br><span class="smalltxt">$announcement[starttime]</span></td>
  6.         <td class="altbg2" align="center">-</td>
  7.         <td class="altbg1" align="center">-</td>
  8.         <td class="altbg2" align="center">-</td>
  9.         </tr>
  10. <!--{/if}-->
复制代码

改為
  1. <!--{if $page == 1 && count($announcement_list)}-->
  2.         <!--{loop $announcement_list $key $announcement}-->
  3.         <tr>
  4.         <td class="altbg2" align="center"><a href="announcement.php?id=$announcement[id]#$announcement[id]" target="_blank"><img src="{IMGDIR}/lock_folder.gif" border="0"></a></td>
  5.         <td class="altbg2" colspan="2" onMouseOver="this.className='altbg1'" onMouseOut="this.className='altbg2'">{lang announcement}: <a href="announcement.php?id=$announcement[id]#$announcement[id]">$announcement[subject]</a></td>
  6.         <td class="altbg1" align="center"><a href="viewpro.php?uid=$announcement[authorid]">$announcement[author]</a><br><span class="smalltxt">$announcement[starttime]</span></td>
  7.         <td class="altbg2" align="center">-</td>
  8.         <td class="altbg1" align="center">-</td>
  9.         <td class="altbg2" align="center">-</td>
  10.         </tr>
  11.         <!--{/loop}-->  
  12. <!--{/if}-->
复制代码


===================================================================

admin/forums.inc.php


  1.                         showsetting('forums_edit_edit_rules', '', '', '<input type="radio" name="alloweditrulesnew" value="0" '.$checkrules[0].'> '.$lang['forums_edit_edit_rules_html_none'].'<br><input type="radio" name="alloweditrulesnew" value="1" '.$checkrules[1].'> '.$lang['forums_edit_edit_rules_html_no'].'<br><input type="radio" name="alloweditrulesnew" value="2" '.$checkrules[2].'> '.$lang['forums_edit_edit_rules_html_yes']);
复制代码

之下加入
  1.                         showsetting('forums_edit_fourmannnum', 'fourmannnumnew', $forum['fourmannnum'], 'text');
复制代码

再找
alloweditrules='$alloweditrulesnew',
後面加入
fourmannnum='$fourmannnumnew',
加入完成如下
alloweditrules='$alloweditrulesnew', fourmannnum='$fourmannnumnew',

===================================================================

templates/default/admincp.lang.php


  1.         'forums_edit_edit_rules_html_none' => '不允許版主修改',
复制代码

之下加入
  1.         'forums_edit_fourmannnum' => '公告條數',
  2.         'forums_edit_fourmannnum_comment' => '本版區顯示多少條論壇公告',
复制代码


===================================================================

[ 本帖最后由 別問我是誰 于 2006-4-28 06:59 编辑 ]
瓦李李 发表于 2006-4-28 07:30:24 | 显示全部楼层
头排支持
回复

使用道具 举报

聿歆 发表于 2006-4-28 07:48:44 | 显示全部楼层
板凳支持 ,顶,收藏.楼主辛苦
回复

使用道具 举报

karl907 发表于 2006-4-28 08:02:11 | 显示全部楼层
不错的!!
回复

使用道具 举报

hidden 发表于 2006-4-28 13:16:40 | 显示全部楼层
请问要怎么才可以让所有版区都显示3个论坛公告?

不会是要一个一个改吧?
回复

使用道具 举报

︶ㄣ風メ(_少 发表于 2006-4-28 13:23:12 | 显示全部楼层
占位占位/
回复

使用道具 举报

odo_cd 发表于 2006-4-28 15:33:20 | 显示全部楼层
其实别老大FOR 4.0的可以用在4。1上
回复

使用道具 举报

fhg007 发表于 2006-4-28 15:52:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

alantam 发表于 2006-4-28 15:54:57 | 显示全部楼层
这个一定要支持啊!!
回复

使用道具 举报

离恨天 发表于 2006-4-28 15:59:45 | 显示全部楼层
支持支持
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-21 23:26 , Processed in 0.032747 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表