找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1284|回复: 1

PHPWind论坛如何修改面包屑导航

[复制链接]

70

主题

28

回帖

199

牛毛

一级牛人

积分
199
发表于 2011-9-6 09:18:18 | 显示全部楼层 |阅读模式 来自 山东省济南市
PHPWind论坛程序是PHP常用的论坛程序之一,但是它有个缺点是位置导航(又称面包屑导航)设置的非常不科学。
一般网站的位置导航都是:首页>栏目页>内容页

而PHPWind比较特殊的是,网站首页支持两种模式,一种是门户模式,一种是论坛模式。有些是用门户模式做默认首页,那么论坛首页会变成/index.php?m=bbs,如果支持伪静态的话会变成/index-htm-m-bbs.html。
现在出现的问题是,不管是否将网站设置为伪静态,那么位置导航中的首页链接都是/index.php?m=bbs,这样就造成会出现两个网址指向同样的内容。也就是不符合URL标准化的要求。
那么怎么修改呢?
而我们从模版里找的话,只会找的$msg_guide这个自定义变量的调用,但是搜这个变量的话又找不到在哪里定义的,其实只需要修改下面这两个文件的headguide就可以。
这个需要测试一下,在论坛目录里找到这两个文件:
require/fourm.php
lib/forum/fourm.class.php

打开这两个文件,搜索function headguide,就会找到类似下面内容(不同版本不一样,这里以8.5版本来举例):
function headguide($guidename, $onmouseover = true) {

global
$db_menu, $db_bbsname, $db_bfn, $imgpath, $db_menu, $db_mode, $db_bbsurl;

if
($db_mode == 'bbs' && $db_bfn == 'index.php') {
$db_bfn_temp = $db_bbsurl . "/index.php?m=bbs";
} else {
$db_bfn_temp = $db_bfn;
}

if
($db_menu && $onmouseover) {
$headguide = "<img id=\"td_cate\" src=\"$imgpath/" . L::style('stylepath') . "/thread/home.gif\" title=\"快速跳转至其他版块\" onClick=\">return pwForumList(false,false,null,this);\" class=\"cp breadHome\" /><em class=\"breadEm\"></em><a href=\"$db_bfn_temp\" title=\"$db_bbsname\">$db_bbsname</a>";
} else {
$headguide = "<a href=\"$db_bfn\" title=\"$db_bbsname\">$db_bbsname</a>";
}

if
(!is_array($guidename)) {

return
$headguide . '<em>></em>' . $guidename;
}

foreach
($guidename as $key => $value) {

if
($value[1]) {
$headguide .= '<em>></em><a href="' . $value[1] . '">' . $value[0] . '</a>';
} else {
$headguide .= '<em>></em>' . $value[0];
}
}

return
$headguide;
}

因为我想修改的论坛是以门户模式为默认首页的,而论坛的首页伪静态之后变成了/index-htm-m-bbs.html。在我将位置导航修改之前是(括号后为实际链接):网站名称(index.php?m=bbs)>版块名称>帖子名称。
将相应的代码修改为:
$headguide = "<img id=\"td_cate\" src=\"$imgpath/" . L::style('stylepath') . "/thread/home.gif\" title=\"快速跳转至其他版块\" onClick=\">return pwForumList(false,false,null,this);\" class=\"cp breadHome\" /><em class=\"breadEm\"></em><a href=\"/\" title=\"$db_bbsname"."网站首页"."\">$db_bbsname</a><em>></em><a href=\"/index-htm-m-bbs.html\" title=\"$db_bbsname"."论坛首页"."\">论坛</a>";


修改后位置导航变成了:网站名称(/)>论坛(/index-htm-m-bbs.html)>版块名称>帖子名称。
可以测试一下,自己的论坛调用了下面哪个文件,按照上面的方法修改就可以了。
require/fourm.php
lib/forum/fourm.class.php

1

主题

10

回帖

17

牛毛

初生牛犊

积分
17
发表于 2011-10-20 23:46:57 | 显示全部楼层 来自 辽宁省锦州市
一天又结束了,哎,无聊的工作无聊的上班啊,看几个帖子,就睡觉了!
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-9 13:23 , Processed in 0.122382 second(s), 27 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表