当前位置: 首页 > 站长资讯 > 正文页面

Discuz教程:如何让你的门户频道页支持伪静态(二次开发)

基于代码X3,其它版本源码,请自行验证。Gxl网站目录_网站网址收录与提交入口

Discuz后台的伪静态配置不包含门户频道页的伪静态配置。应该是考虑到频道页的URL地址变化太多的原因。下面,我们就来开发源码,加上这个功能。Gxl网站目录_网站网址收录与提交入口

第一步:加上语言包中的记录:Gxl网站目录_网站网址收录与提交入口

根目录下:source/language/lang_admincp.php ,找到setting_seo_rewritestatus_portal_article 这一行,大概在1500行左右,搜索一下吧。Gxl网站目录_网站网址收录与提交入口

在这句下面加上一句:'setting_seo_rewritestatus_portal_list' => '门户频道页',Gxl网站目录_网站网址收录与提交入口

第二步:在后台加上设置项Gxl网站目录_网站网址收录与提交入口

根目录下:source/function/function_admincp.php ,找到rewritedata函数,在if语句的,两个大括号中,加上下面两段程序Gxl网站目录_网站网址收录与提交入口

上面一段加上Gxl网站目录_网站网址收录与提交入口

if (in_array('portal_list', $_G['setting']['rewritestatus'])) {Gxl网站目录_网站网址收录与提交入口

$data['search']['portal_list'] = "/" . $_G['domain']['pregxprw']['portal'] . "/?mod/=list&(amp;)?catid/=(/d+)(&page/=(/d+))?/"([^/>]*)/>/e";Gxl网站目录_网站网址收录与提交入口

$data['replace']['portal_list'] = "rewriteoutput('portal_list', 0, '//1', '//3', '//5', '//6')";Gxl网站目录_网站网址收录与提交入口

}Gxl网站目录_网站网址收录与提交入口

下面一段加上Gxl网站目录_网站网址收录与提交入口

$data['rulesearch']['portal_list'] = 'list-{catid}-{page}.html';Gxl网站目录_网站网址收录与提交入口

$data['rulereplace']['portal_list'] = 'portal.php?mod=list&catid={catid}&page={page}';Gxl网站目录_网站网址收录与提交入口

$data['rulevars']['portal_list']['{catid}'] = '([0-9]+)';Gxl网站目录_网站网址收录与提交入口

$data['rulevars']['portal_list']['{page}'] = '([0-9]+)';Gxl网站目录_网站网址收录与提交入口

第三步:兼容栏目页URL地址设置Gxl网站目录_网站网址收录与提交入口

找到文件:Gxl网站目录_网站网址收录与提交入口

根目录source/function/function_portal.php 下的函数getportalcategoryurlGxl网站目录_网站网址收录与提交入口

重新写成下面的代码:Gxl网站目录_网站网址收录与提交入口

function getportalcategoryurl($catid) {Gxl网站目录_网站网址收录与提交入口

if (empty($catid))Gxl网站目录_网站网址收录与提交入口

return '';Gxl网站目录_网站网址收录与提交入口

loadcache('portalcategory');Gxl网站目录_网站网址收录与提交入口

$portalcategory = getglobal('cache/portalcategory');Gxl网站目录_网站网址收录与提交入口

if ($portalcategory[$catid]) {Gxl网站目录_网站网址收录与提交入口

$url = str_replace('&', '&', $portalcategory[$catid]['caturl']);Gxl网站目录_网站网址收录与提交入口

$url = str_replace('&', '&', $url);Gxl网站目录_网站网址收录与提交入口

$url = str_replace('http://'.$_SERVER['HTTP_HOST'].'/', '', $url);Gxl网站目录_网站网址收录与提交入口

return $url;Gxl网站目录_网站网址收录与提交入口

} else {Gxl网站目录_网站网址收录与提交入口

return '';Gxl网站目录_网站网址收录与提交入口

}Gxl网站目录_网站网址收录与提交入口

}Gxl网站目录_网站网址收录与提交入口

第四步:设置前台页面URL地址切换Gxl网站目录_网站网址收录与提交入口

根目录00php/source/function/function_core.php 这个文件中找到:函数rewriteoutputGxl网站目录_网站网址收录与提交入口

在一串的if ... else if中加上一段Gxl网站目录_网站网址收录与提交入口

elseif ($type == 'portal_list') {Gxl网站目录_网站网址收录与提交入口

list(,,, $id, $page, $extra) = func_get_args();Gxl网站目录_网站网址收录与提交入口

$r = array(Gxl网站目录_网站网址收录与提交入口

'{catid}' => $id,Gxl网站目录_网站网址收录与提交入口

'{page}' => $page ? $page : 1,Gxl网站目录_网站网址收录与提交入口

);Gxl网站目录_网站网址收录与提交入口

}Gxl网站目录_网站网址收录与提交入口

至此,大功告成。Gxl网站目录_网站网址收录与提交入口

  

此文由 网站目录_网站网址收录与提交入口 编辑,未经允许不得转载!:

相关文章