こはね 发表于 2020-6-28 13:21:55

修改discuz导读设置--diy导读

修改discuz导读、热帖聚合时间范围、精华聚合时间范围,并使其能diy。


discuz官方程序后台设定了“热帖聚合时间范围”不能低于3,小于3会强制变回3,而“热帖聚合时间范围”与“精华聚合时间范围”时间最长只有三个月,这些设定极大限制了热门帖、精华帖功能的使用。

1.修改热帖聚合时间范围:
打开source/admincp/admincp_setting.php,搜索$settingnew['heatthread']['guidelimit'],然后将
$settingnew['heatthread']['guidelimit'] = $settingnew['heatthread']['guidelimit'] < 3 ? 3 : intval($settingnew['heatthread']['guidelimit']);

修改成

$settingnew['heatthread']['guidelimit'] = $settingnew['heatthread']['guidelimit'] < 2 ? 3 : intval($settingnew['heatthread']['guidelimit']);



保存后进入后台,你会发现“热帖聚合时间范围”可以修改成2了,如果需要看到变化,你还需要到后台更新缓存。



2.修改热帖聚合时间范围、精华聚合时间范围:


仍然是打开source/admincp/admincp_setting.php,然后搜索$dtarray,你会见到一个array数组
                $dtarray = array(
                        array(604800, $lang['7_day']),
                        array(1209600, $lang['14_day']),
                        array(2592000, $lang['30_day']),
                        array(7776000, $lang['90_day']),
                );

前面的数字是以秒为单位,604800为7天,7776000为90天,后面的值为语言值(选项显示的文字),$lang['7_day']可以在source/language/lang_admincp.php找到

如果你不想设定语言值,你可以直接用单引号,然后写上文字

在数组里面可以自行添加选项,例如
                        array(31536000, '1 Years'),/*31536000秒等于1年*/
                        array(0, 'Unlimit')/*改成0即为无限,不限制时间*/

                $dtarray = array(
                        array(604800, $lang['7_day']),
                        array(1209600, $lang['14_day']),
                        array(2592000, $lang['30_day']),
                        array(7776000, $lang['90_day']),
                        array(31536000, '1 Years'),
                        array(0, 'Unlimit')
                );



添加这两个语句后,你会发现后台那里多了两个选项,切换到Unlimit看看吧,然后到后台更新缓存,看下导读热门贴与精华帖是不是已经不限时间了?


3.导读diy
打开source/module/forum/forum_guide.php搜索“include template”,然后将include template('forum/guide');
修改成
include template('diy:forum/guide');


然后去导读模板文件给添加
<style id="diy_style" type="text/css"></style>
即可使导读正常使用diy按钮。


こはね 发表于 2022-5-8 17:57:13

隐藏某个板块主题帖

source/module/forum/forum_guide.php

      $query = C::t('forum_thread')->fetch_all_for_guide($view, $limittid, $tids, $_G['setting']['heatthread']['guidelimit'], $dateline);
      $n = 0;
      foreach($query as $thread) {

下面添加
                if($thread['fid'] == 板块ID || $thread['fid'] == 板块ID || $thread['fid'] == 板块ID || $thread['fid'] == 板块ID) {
                        continue;
                }






页: [1]
查看完整版本: 修改discuz导读设置--diy导读