本帖结尾处的附件即是修改好的程序包,集成了4月18日的官方更新。
推荐手动修改,有助增进对Discuz!的熟悉,破除对源代码的恐惧心理。
首先感谢okbsb、苦涩咖啡提供参考素材
原帖
http://www.discuz.net/thread-253104-1-1.html
HACK功能说明:
更改标题栏排序:
“站点名称 - 论坛名称(父论坛名称 - 子论坛名称) - 帖子名称”
为:
“帖子名称 - 论坛名称(子论坛名称 - 父论坛名称) - 站点名称”
搜索引擎收录后效果更直观
完美版修正内容:
1、okbsb原帖修改方法遗留下index.php?gid=xxx访问时标题栏中多余的“-”
2、苦涩咖啡提供修改方法中引起二级子论坛帖子中标题栏重复出现的bug
1、viewthread.php
将
$navtitle = ' - '.strip_tags($forum['name']).' - '.$thread['subject'];
替换为
$navtitle = $thread['subject'].' - '.strip_tags($forum['name'].' - ');
-----
将
$navtitle = ' - '.strip_tags($fup['name']).$navtitle;
替换为
$navtitle = $navtitle.strip_tags($fup['name'].' - ');
2、topicadmin.php
将
if($forum['type'] == 'forum') {
$navigation = "» <a href=\"forumdisplay.php?fid=$fid\">$forum[name]</a>";
$navtitle = ' - '.strip_tags($forum['name']);
} else {
$query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
$fup = $db->fetch_array($query);
$navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> » <a href=\"forumdisplay.php?fid=$fid\">$forum[name]</a> ";
$navtitle = ' - '.strip_tags($fup['name']).' - '.strip_tags($forum['name']);
}
替换为
if($forum['type'] == 'forum') {
$navigation = "» <a href=\"forumdisplay.php?fid=$fid\">$forum[name]</a>";
if($action == 'moderate') {
$navtitle =strip_tags($forum['name']).' - ';
} else {
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']).' - ';
}
} else {
$query = $db->query("SELECT fid, name FROM {$tablepre}forums WHERE fid='$forum[fup]'");
$fup = $db->fetch_array($query);
$navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> » <a href=\"forumdisplay.php?fid=$fid\">$forum[name]</a> ";
if($action == 'moderate') {
$navtitle = strip_tags($forum['name']).' - '.strip_tags($fup['name']).' - ';
} else {
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']).' - '.strip_tags($fup['name']).' - ';
}
}
3、post.php
将
$navtitle = " - $thread[subject]";
替换为
$navtitle = "$thread[subject]";
-----
将
$navtitle = ' - '.strip_tags($forum['name']).$navtitle;
if($forum['type'] == 'sub') {
$query = $db->query("SELECT name, fid FROM {$tablepre}forums WHERE fid='$forum[fup]'");
$fup = $db->fetch_array($query);
$navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
$navtitle = ' - '.strip_tags($fup['name']).$navtitle;
}
替换为
if($action == 'newthread') {
$navtitle =strip_tags($forum['name']).' - ';
} else {
$navtitle =$navtitle.' - '.strip_tags($forum['name']).' - ';
}
if($forum['type'] == 'sub') {
$query = $db->query("SELECT name, fid FROM {$tablepre}forums WHERE fid='$forum[fup]'");
$fup = $db->fetch_array($query);
$navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
if($action == 'newthread') {
$navtitle =strip_tags($forum['name']).' - '.strip_tags($fup['name']).' - ';
} else {
$navtitle =$navtitle.strip_tags($fup['name']).' - ';
}
}
4、misc.php
将
$navtitle = ' - '.strip_tags($forum['name']).' - '.$thread['subject'];
替换为
$navtitle =$thread['subject'].' - '.strip_tags($forum['name']).' - ';
-----
将
$navtitle = ' - '.strip_tags($fup['name']).' - '.strip_tags($forum['name']).' - '.$thread['subject'];
替换为
$navtitle = $thread['subject'].' - '.strip_tags($forum['name']).' - '.strip_tags($fup['name']).' - ';
5、forumdisplay.php
将
$navtitle = ' - '.strip_tags($forum['name']);
替换为
$navtitle = strip_tags($forum['name']).' - ';
-----
将
$navtitle = ' - '.strip_tags($forumup).' - '.strip_tags($forum['name']);
替换为
$navtitle = strip_tags($forum['name']).' - '.strip_tags($forumup).' - ';
6、include/category.inc.php
将
$navtitle = ' - '.strip_tags($forum['name']);
替换为
$navtitle = strip_tags($forum['name'].' - ');
最后,也是最重要的一步
修改header模版中的
<title>$bbname $seotitle $navtitle</title>
为
<title>$seotitle $navtitle $bbname</title>
至此修改完成