Discuz!教程之DIY主题模块增加主题随机排序功能-Discuz教程下载

Discuz!教程之DIY主题模块增加主题随机排序功能

来自版块: Discuz教程发表于: 2024-9-10 18:01:38
399
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
Discuz默认规则里面是没有随机排序的,本教程介绍如果添加随机排序:

修改文件
\source\class\block\forum\block_thread.php

1、参考文件有三个修改点,请按照修改点修改。
2、如果您的网站是gbk的,修改前请务必将block_thread.php文件编码格式转成gbk的,否则前台会乱码。

修改点1
找到代码
  1. 'orderby' => array(
  2.         'title' => 'threadlist_orderby',
  3.         'type'=> 'mradio',
  4.         'value' => array(
  5.                 array('lastpost', 'threadlist_orderby_lastpost'),
  6.                 array('dateline', 'threadlist_orderby_dateline'),
  7.                 array('replies', 'threadlist_orderby_replies'),
  8.                 array('views', 'threadlist_orderby_views'),
  9.                 array('heats', 'threadlist_orderby_heats'),
  10.                 array('recommends', 'threadlist_orderby_recommends'),
  11.         ),
  12.         'default' => 'lastpost'
  13. ),
复制代码
修改为
  1. 'orderby' => array(
  2.         'title' => 'threadlist_orderby',
  3.         'type'=> 'mradio',
  4.         'value' => array(
  5.                 array('lastpost', 'threadlist_orderby_lastpost'),
  6.                 array('dateline', 'threadlist_orderby_dateline'),
  7.                 array('replies', 'threadlist_orderby_replies'),
  8.                 array('views', 'threadlist_orderby_views'),
  9.                 array('heats', 'threadlist_orderby_heats'),
  10.                 array('recommends', 'threadlist_orderby_recommends'),
  11.                 array('rand', '随机排序'),
  12.         ),
  13.         'default' => 'lastpost'
  14. ),
复制代码
修改点2
找到代码
  1. $orderby        = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
复制代码
修改为
  1. $orderby        = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends','rand')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';
复制代码
修改点3
找到代码
  1. $query = DB::query("SELECT DISTINCT t.*$sqlfield
  2.         FROM `".DB::table('forum_thread')."` t
  3.         $sqlfrom WHERE {$maxwhere}t.readperm='0'
  4.         $sql
  5.         AND t.displayorder>='0'
  6.         ORDER BY t.$orderby DESC
  7.         LIMIT $startrow,$items;"
  8.         );
复制代码
修改为
  1. if($orderby=='rand'){
  2.         $query = DB::query("SELECT DISTINCT t.*$sqlfield
  3.                 FROM `".DB::table('forum_thread')."` t
  4.                 $sqlfrom WHERE {$maxwhere}t.readperm='0'
  5.                 $sql
  6.                 AND t.displayorder>='0'
  7.                 ORDER BY rand()
  8.                 LIMIT $startrow,$items;"
  9.                 );
  10. }else{
  11.         $query = DB::query("SELECT DISTINCT t.*$sqlfield
  12.                 FROM `".DB::table('forum_thread')."` t
  13.                 $sqlfrom WHERE {$maxwhere}t.readperm='0'
  14.                 $sql
  15.                 AND t.displayorder>='0'
  16.                 ORDER BY t.$orderby DESC
  17.                 LIMIT $startrow,$items;"
  18.                 );                        
  19. }
复制代码

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部