前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >帝国CMS搜索页伪静态实现方法

帝国CMS搜索页伪静态实现方法

作者头像
ytkah
发布2018-03-06 12:03:02
2K0
发布2018-03-06 12:03:02
举报
文章被收录于专栏:ytkahytkah

  本文介绍帝国CMS搜索页url伪静态实现方法,可实现帝国CMS站内搜索结果页的伪静态显示,在使用帝国CMS二次开发中非常具有实用价值,需要的朋友可以参考下(文末附iis解决方案)

  具体实现方法如下:

一、打开\e\search\index.php 411行左右,找到:

代码语言:javascript
复制
Header("Location:result/?searchid=$searchid".$dogetvar);

  修改为:

代码语言:javascript
复制
Header("Location:$public_r[newsurl]search-0-$searchid.html".$dogetvar);

二、打开\e\search\result\index.php 20行左右,找到:

代码语言:javascript
复制
//搜索结果
$searchid=(int)$_GET['searchid'];

  在前面添加分页函数:

代码语言:javascript
复制
//增加分页函数
function page10($num,$line,$page_line,$start,$page,$search){
global $fun_r;
if($num<=$line)
{
return '';
}
$search=RepPostStr($search,1);
$url=$public_r['newsurl'].'search';
$snum=2;//最小页数
$totalpage=ceil($num/$line);//取得总页数
$firststr='<a title="'.$fun_r['trecord'].'">&nbsp;'.$num.'&nbsp;</a>&nbsp;&nbsp;';
//上一页
if($page<>0)
{
$toppage='<a href="'.$url.'-0-'.$search.'.html">'.$fun_r['startpage'].'</a>&nbsp;';
$pagepr=$page-1;
$prepage='<a href="'.$url.'-'.$pagepr.'-'.$search.'.html">'.$fun_r['pripage'].'</a>';
}
//下一页
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage='&nbsp;<a href="'.$url.'-'.$pagenex.'-'.$search.'.html">'.$fun_r['nextpage'].'</a>';
$lastpage='&nbsp;<a href="'.$url.'-'.($totalpage-1).'-'.$search.'.html">'.$fun_r['lastpage'].'</a>';
}
$starti=$page-$snum<0?0:$page-$snum;
$no=0;
for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1="<b>";
$is_2="</b>";
}
else
{
$is_1='<a href="'.$url.'-'.$i.'-'.$search.'.html">';
$is_2="</a>";
}
$pagenum=$i+1;
$returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
return $returnstr;
}

  然后在48行左右找到:

代码语言:javascript
复制
$listpage=page1($num,$line,$page_line,$start,$page,$search);

  修改为:

代码语言:javascript
复制
$listpage=page10($num,$line,$page_line,$start,$page,$search);

  找到:

代码语言:javascript
复制
$search="&searchid=".$searchid;

修改为:

代码语言:javascript
复制
$search="$searchid";

三、添加伪静态规则(例子为Apache,自己修改为对应的).

代码语言:javascript
复制
RewriteRule ^search-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page=$1&searchid=$2

四、修改搜索模板中的提交地址为绝对地址:

代码语言:javascript
复制
<form action='http://www.XXXX.com/e/search/index.php' method="post" name="search_news" id="search_news">
帝国CMS搜索页伪静态
帝国CMS搜索页伪静态

  最后的实现效果如上图所示

  附IIS下实现帝国CMS搜索页伪静态

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档