首页  >  文章  >  CMS教程  >  完全掌握帝国CMS搜索页伪静态实现方法

完全掌握帝国CMS搜索页伪静态实现方法

silencement
silencement转载
2019-11-28 13:40:182260浏览

完全掌握帝国CMS搜索页伪静态实现方法

本文实例讲述了帝国CMS搜索页伪静态实现方法。分享给大家供大家参考。具体实现方法如下:

帝国CMS搜索页伪静态教程步骤:

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

代码如下:

Header("Location:result/?searchid=$searchid".$dogetvar);

修改为:

代码如下:

Header("Location:$public_r[newsurl]search-0-$searchid.html".$dogetvar);

推荐学习《帝国cms教程

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

代码如下:

//搜索结果
$searchid=(int)$_GET['searchid'];
在前面添加分页函数:</p> <p>//增加分页函数
function page10($num,$line,$page_line,$start,$page,$search){
global $fun_r;
if($num<=$line)
{
return &#39;&#39;;
}
$search=RepPostStr($search,1);
$url=$public_r[&#39;newsurl&#39;].&#39;search&#39;;
$snum=2;//最小页数
$totalpage=ceil($num/$line);//取得总页数
$firststr=&#39;<a title="&#39;.$fun_r[&#39;trecord&#39;].&#39;"> &#39;.$num.&#39; </a>  &#39;;
//上一页
if($page<>0)
{
$toppage=&#39;<a href="&#39;.$url.&#39;-0-&#39;.$search.&#39;.html">&#39;.$fun_r[&#39;startpage&#39;].&#39;</a> &#39;;
$pagepr=$page-1;
$prepage=&#39;<a href="&#39;.$url.&#39;-&#39;.$pagepr.&#39;-&#39;.$search.&#39;.html">&#39;.$fun_r[&#39;pripage&#39;].&#39;</a>&#39;;
}
//下一页
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage=&#39; <a href="&#39;.$url.&#39;-&#39;.$pagenex.&#39;-&#39;.$search.&#39;.html">&#39;.$fun_r[&#39;nextpage&#39;].&#39;</a>&#39;;
$lastpage=&#39; <a href="&#39;.$url.&#39;-&#39;.($totalpage-1).&#39;-&#39;.$search.&#39;.html">&#39;.$fun_r[&#39;lastpage&#39;].&#39;</a>&#39;;
}
$starti=$page-$snum<0?0:$page-$snum;
$no=0;
for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1="";
$is_2="";
}
else
{
$is_1=&#39;<a href="&#39;.$url.&#39;-&#39;.$i.&#39;-&#39;.$search.&#39;.html">&#39;;
$is_2="</a>";
}
$pagenum=$i+1;
$returnstr.=" ".$is_1.$pagenum.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
return $returnstr;
}

然后在48行左右找到:
代码如下:

$listpage=page1($num,$line,$page_line,$start,$page,$search);

修改为:

代码如下:

$listpage=page10($num,$line,$page_line,$start,$page,$search);

修改:

代码如下:

$search="&searchid=".$searchid;

为:

代码如下:

$search="$searchid";

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

代码如下:

#搜索</p> <p>RewriteRule ^search-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page=$1&searchid=$2

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

比如:

代码如下:

<form action=&#39;http://www.XXXX.com/e/search/index.php&#39; method="post" name="search_news" id="search_news">

提示:不建议使用相对地址

希望本文所述对大家的帝国CMS建站有所帮助。

以上是完全掌握帝国CMS搜索页伪静态实现方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:www.word666.com。如有侵权,请联系admin@php.cn删除