1.添加SQL查询:
执行
:
ALTER TABLE `mxb_forum` ADD `specialtopic` MEDIUMTEXT; ALTER TABLE `mxb_thread` ADD `stopic` MEDIUMTEXT;
2.修改文件:
a.打开includes/forums.php
查找332行左右:
:
$threadprefix = str_replace("||", "rn",$this->forum['threadprefix']);
在下面添加:
:
$st = unserialize(stripslashes($this->forum['specialtopic'])); if(is_array($st)) { foreach ($st AS $id => $value) { $specialtopic .= $value."rn"; } }
查找442行左右:
:
$forums->admin->print_cells_row( array( "<b >".$forums->lang['threadprefix']."</b > ".$forums->lang['threadprefixdesc'] , $forums->admin->print_textarea_row("threadprefix", $threadprefix ) ) );
在下面添加:
:
$forums->admin->print_cells_row( array( "<b >专题分类名称</b > 请在每行输入一个专题名称", $forums->admin->print_textarea_row("specialtopic", $specialtopic ) ) );
查找483行左右:
:
if ($_POST['threadprefix'] != '') { $threadprefix = str_replace("rn","||", $_POST['threadprefix']); }
在下面添加:
:
if ($_POST['specialtopic'] != '') { $stopic = explode("rn",$_POST['specialtopic']); $i = 1; foreach ($stopic AS $id => $key) { if($key == '') continue; $specialtopic[$i] = $key; $i++; } $specialtopic = addslashes(serialize($specialtopic)); }
查找498行左右:
:
'threadprefix' => $threadprefix,
在下面添加:
:
'specialtopic' => $specialtopic,
b.打开forumdisplay.php
查找:
:
$bboptions['maxthreads'] = $bboptions['maxthreads'] ? $bboptions['maxthreads'] : '20';
在下面增加:
:
if($forum['specialtopic']) { $this->st = unserialize(stripslashes($this->forum['specialtopic'])); $specialtopic = " - 专题:"; foreach ($this->st AS $id => $value) { $specialtopic .= " [<a href ='forumdisplay.php?".$forums->sessionurl."f=".$this->forum['id']."&st={$id}'>{$value}</a >]"; } }
查找:
:
if ( ! $bbuserinfo['canviewothers'] OR $threadfilter == 'started' ) { $queryarray[] = "postuserid='".$bbuserinfo['id']."'"; }
在下面增加:
:
if($_INPUT['st']) { $queryarray[] = "stopic=".intval($_INPUT['st']); }
查找:
:
"forumdisplay.php?".$forums->sessionurl."f=".$this->forum['id']."&daysprune=$daysprune&sortby=$sortby&filter={$threadfilter}",
替换为:
:
"forumdisplay.php?".$forums->sessionurl."f=".$this->forum['id']."&daysprune=$daysprune&sortby=$sortby&filter={$threadfilter}&st={$_INPUT['st']}",
查找:
:
if ($thread['sticky']) { $thread['prefix'] = $bboptions['stickyprefix']; $thread['title'] = $bboptions['stickopentag'].$thread['title'].$bboptions['stickclosetag']; }
在下面添加:
:
if ($thread['stopic']) { $thread['specialtopic'] = "<font color ='red'>[<a href ='forumdisplay.php?".$forums->sessionurl."f=".$this->forum['id']."&st={$thread['stopic']}'>".$this->st[$thread['stopic']]."</a >]</font > "; }
c.打开 newthread.php 文件
查找:
:
if ($this->lib->forum['threadprefix']) { $prefix = explode("||", $this->lib->forum['threadprefix']); $threadprefix = '<select onchange ="document.mxbform.title.focus(); document.mxbform.title.value = this.options[this.selectedIndex].value + document.mxbform.title.value; "><option selected value =" ">'.$forums->lang['type'].'</option >'; foreach ($prefix AS $value) { $threadprefix .= '<option value ="'.$value.' ">'.$value.'</option >'; } $threadprefix .= '</select >'; }
在下面添加:
:
if($this->lib->forum['specialtopic']) { $st = unserialize(stripslashes($this->lib->forum['specialtopic'])); $specialtopic = '<select name ="specialtopic " class="bginput "><option selected value =" ">选择所属专题</option >'; foreach ($st AS $id => $value) { $specialtopic .= "<option value ='{$id}'>{$value}</option >"; } $specialtopic .= '</select >'; }
查找186行:
:
'sticky' => $sticky,
在下面添加:
:
'stopic' => intval($_INPUT['specialtopic']),
d.打开 editpost.php 文件
查找:
:
if ($this->lib->forum['threadprefix']) { $prefix = explode("||", $this->lib->forum['threadprefix']); $threadprefix = '<select onchange ="document.mxbform.title.focus(); document.mxbform.title.value = this.options[this.selectedIndex].value + document.mxbform.title.value; "><option selected value =" ">类型</option >'; foreach ($prefix AS $value) { $threadprefix .= '<option value ="'.$value.' ">'.$value.'</option >'; } $threadprefix .= '</select >'; }
在下面添加:
:
if($this->lib->forum['specialtopic']) { $st = unserialize(stripslashes($this->lib->forum['specialtopic'])); $specialtopic = '<select name ="specialtopic " class="bginput "><option selected value =" ">选择所属专题</option >'; foreach ($st AS $id => $value) { $c = $this->thread['stopic'] == $id ? " selected='selected'" : ''; $specialtopic .= "<option value ='{$id}'{$c}>{$value}</option >"; } $specialtopic .= '</select >'; }
查找212行:
:
if ( ($_INPUT['title'] != $this->thread['title']) OR ($_INPUT['description'] != $this->thread['description']) ) { $DB->query( "UPDATE ".TABLE_PREFIX."thread SET title='".$_INPUT['title']."', description='".$_INPUT['description']."' WHERE tid='".$this->thread['tid']."'" );
替换为:
:
if ( ($_INPUT['title'] != $this->thread['title']) OR ($_INPUT['description'] != $this->thread['description']) OR ($_INPUT['specialtopic'] != $this->thread['stopic']) ) { $DB->query( "UPDATE ".TABLE_PREFIX."thread SET title='".$_INPUT['title']."', description='".$_INPUT['description']."', stopic='".intval($_INPUT['specialtopic'])."' WHERE tid='".$this->thread['tid']."'" );
3.模版修改:
打开 forum -> forum_top 模版
查找:
/nav_m.gif' border='0' alt='' /> {$forum['name']}
在下面添加:
{$specialtopic}
打开 forum -> forum_threadlist 模版
查找:
{$thread['prefix']}
在前面添加:
{$thread['specialtopic']}
打开 newpost -> newpost_header 模版
查找:
在前面添加:
{$specialtopic}