discuz2.x 3.1 3.2 3.3 3.4增加随机调用帖子

具体操作:

1.打开/source/class/block/forum/block_threadhot.php,找到

array('recommends', 'threadlist_orderby_recommends'),

之下增加

array('rands', '随机'),

2.打开/source/class/block/forum/block_thread.php,找到

$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';

$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';


改为

$orderby = isset($parameter['orderby']) ? (in_array($parameter['orderby'],array('lastpost','dateline','replies','views','heats','recommends','rands')) ? $parameter['orderby'] : 'lastpost') : 'lastpost';

$lastposter = !empty($parameter['lastposter']) ? $parameter['lastposter'] : '';


其实就是增加了,'rands'

3.找到

$query = DB::query("SELECT DISTINCT t.*$sqlfield

FROM `".DB::table('forum_thread')."` t

$sqlfrom WHERE {$maxwhere}t.readperm='0'

$sql

AND t.displayorder>='0'

ORDER BY t.$orderby DESC

LIMIT $startrow,$items;"

);


改为

if($orderby=='rands'){

$query = DB::query("SELECT DISTINCT t.* $sqlfield FROM `".DB::table('forum_thread')."` t $sqlfrom WHERE {$maxwhere}t.readperm='0' $sql AND t.displayorder>='0' ORDER BY rand() LIMIT $startrow,$items;");

}else{

$query = DB::query("SELECT DISTINCT t.*$sqlfield

FROM `".DB::table('forum_thread')."` t

$sqlfrom WHERE {$maxwhere}t.readperm='0'

$sql

AND t.displayorder>='0'

ORDER BY t.$orderby DESC

LIMIT $startrow,$items;"

);

}

就是在数据查询的外层加上了判断,如果是随机排序,查询里排序条件就用ORDER BY rand(),否则按原本的排序条件。


discuz2.x 3.1 3.2 3.3 3.4增加随机调用帖子
版权声明:若无特殊注明,本文皆为《 魔幻精灵 》原创,转载请保留文章出处。
本文链接:discuz2.x 3.1 3.2 3.3 3.4增加随机调用帖子 http://www.mhjl.cn/?post=148
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!