个人笔记
blog.webpress.top

Discuz!论坛开启文章内容摘要

随着人们生活节奏的加快,对内容的获取也不再那么有耐心。譬如:当我们浏览帖子的时候,总希望能不打开文章帖子,就能快速的了解文章中的内容。这一小小的要求现实意义非常大,然而原生的Discuz!开源论坛却没有直接提供,下面我来教大家如何通过修改代码,安全可靠的增加这一实用的新功能!

首先打开

1
/source/module/forum/forum_forumdisplay.php

找到

1
$threadids[$threadindex] = $thread['tid'];

大概在812行左右
在这行代码下面添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//内容摘要
        include_once libfile('function/post');
        include_once libfile('function/attachment');
        $thread['post'] = C::t('forum_post')->fetch_all_by_tid_position($thread['posttableid'],$thread['tid'],1);
        $thread['post'] = array_shift($thread['post']);
        $thread['preview'] = messagecutstr($thread['post']['message'], 120);
        $attachments = C::t('forum_attachment_n')->fetch_all_by_id('tid:'.$thread['post']['tid'], 'pid', $thread['post']['pid']);
        $attachs = $imgattachs = array();
        foreach(C::t('forum_attachment')->fetch_all_by_id('pid', $thread['post']['pid'], 'aid') as $attach) {
                $attach = array_merge($attach, $attachments[$attach['aid']]);
                $attach['filenametitle'] = $attach['filename'];
                $attach['ext'] = fileext($attach['filename']);
                getattach_row($attach, $attachs, $imgattachs);
        }
        $thread['attachments'] = $imgattachs;
//内容摘要END

添加好后如图

这时只要在前台

1
/template/default/forum

找到对应的文件 forumdisplay_list.php 再恰当的位置调用$thread[‘preview’]
即可实现显示主题内容以及附件。
一个小示例

1
2
<!--插入摘要-->
<div style="font-size: 13px; color: #6b6b6b; margin: 3px 0 3px 0; " >$thread['preview']</div>

实际效果

觉得喜欢,欢迎打赏哦

赞赏

微信赞赏支付宝赞赏

未经允许不得转载:http://blog.webpress.top        WebPress » Discuz!论坛开启文章内容摘要
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址