找回密码
 注册加入

扫一扫,极速登录

QQ登录

只需一步,快速开始

搜索
查看: 5354|回复: 2

改变DIY模板中公告显示顺序

[复制链接]
发表于 2011-7-14 18:36:28 | 显示全部楼层 |阅读模式
改变DIY模板中公告显示顺序
diy论坛公告时,显示公告顺序为发布时间从远到近。也就是说要显示3条公告,最早发布的公告总在第一条,越晚发布的显示在最后。这不是一般情况下我们想要的方式。而且当我设置只显示2条公告的话,显示的是最早发布的2条,最新发布的公告不显示!
方法一:
经过对拖拽DIY模块反复分析,发现无法使用现有的模块和数据来源改变显示顺序,于是只好寻找并修改数据源头文件了。
找到“source\class\block\html\block_announcement.php”文件,打开。
第92行代码为

  1. $sql = 'SELECT * FROM '.DB::table('forum_announcement')." WHERE starttime <= '$time' AND (endtime = '' || endtime >= '$time') $typesql $bansql ORDER BY displayorder DESC LIMIT $startrow, $items";
复制代码
将其中的"displayorder"改为“id”,保存文件就可以了。
现在再使用拖拽DIY模块,显示顺序按发布时间倒序了,最新公告将显示在第一条。
方法二:
另外,其实不修改源文件也是可以控制显示顺序的,需要在后台公告处,设置每一条公告的显示顺序。这种方法的显示更加灵活,但是每次发起公告,希望它显示在最前的话必须设置它的显示顺序为最小,如果第一条公告是默认的显示顺序0,第二条可以设置为-1,以后的设置为-2,-3……
总之懒人可以采用第一种方法,修改源文件,一劳永逸。勤快的朋友每次发公告记得设置显示顺序,好处是可以任意安排显示顺序。

发表于 2011-7-15 11:22:45 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U!
Discuz扩展中心分享快乐!
回复 支持 反对

使用道具 举报

发表于 2011-7-17 16:09:21 | 显示全部楼层
不错,支持~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册加入  

本版积分规则

Archiver|手机版|小黑屋|Discuz!扩展中心 ( 浙ICP备14042422号-1 )|网站地图QQ机器人

GMT+8, 2024-4-29 10:57 , Processed in 0.172344 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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