改变DIY模板中公告显示顺序
改变DIY模板中公告显示顺序diy论坛公告时,显示公告顺序为发布时间从远到近。也就是说要显示3条公告,最早发布的公告总在第一条,越晚发布的显示在最后。这不是一般情况下我们想要的方式。而且当我设置只显示2条公告的话,显示的是最早发布的2条,最新发布的公告不显示!
方法一:
经过对拖拽DIY模块反复分析,发现无法使用现有的模块和数据来源改变显示顺序,于是只好寻找并修改数据源头文件了。
找到“source\class\block\html\block_announcement.php”文件,打开。
第92行代码为
$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……
总之懒人可以采用第一种方法,修改源文件,一劳永逸。勤快的朋友每次发公告记得设置显示顺序,好处是可以任意安排显示顺序。
楼主太厉害了!楼主,I*老*虎*U!
Discuz扩展中心分享快乐!
不错,支持~~~
页:
[1]