|
本来打算做标签云,一直没实现,不过顺带找到这个 diy 帖子模块 TAG 标签的扩展功能。
效果还不错。
只需要修改一个文件:source/class/block/forum/block_thread.php
找到:
- 'todayposts' => array('name' => lang('blockclass', 'blockclass_thread_field_todayposts'), 'formtype' => 'text', 'datatype' => 'int'),
复制代码
在其下方添加
- 'keywords' => array('name' => "主题标签", 'formtype' => 'text', 'datatype' => 'string'),
复制代码
再找到
- if($style['getsummary']) {
- $threadtids[$data['posttableid']][] = $data['tid'];
- }
复制代码
在其下添加
- $sql_dztu = "select * from ".DB::table("forum_post")." where first=1 and tid=".$data['tid'];
- $res = DB::fetch_first($sql_dztu);
- $tags = explode("\t",$res['tags']);
- $keywords = '';
- foreach($tags as $tag){
- $array = explode(",",$tag);
- if($array[1])
- $keywords .= '<a title="'.$array[1].'" href="misc.php?mod=tag&id='.$array[0].'" target="_blank">'.$array[1].'</a>,';
- }
- $keywords = substr($keywords,0,-1);
复制代码
如果不加链接,可以改成
- $sql_dztu = "select * from ".DB::table("forum_post")." where first=1 and tid=".$data['tid'];
- $res = DB::fetch_first($sql_dztu);
- $tags = explode("\t",$res['tags']);
- $keywords = '';
- foreach($tags as $tag){
- $array = explode(",",$tag);
- if($array[1])
- $keywords .= $array[1].',';
- }
- $keywords = substr($keywords,0,-1);
复制代码
再找到
- 'monthviews' => $data['views']
复制代码
在其上添加
如果做了 tag 伪静态,比如 tag-2.html 这种,需要将上面的
- href="misc.php?mod=tag&id='.$array[0].'"
复制代码
改为
- href="tag-'.$array[0].'.html"
复制代码
后台——工具——更新缓存,可以在 diy 帖子模块中使用{keywords}来调用帖子 TAG 标签了。
|
|