帝国cms模板开发教程 帝国CMS二次开发搜索伪静态教程

帝国CMS教程

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

 

 

1、打开esearchindex.php 411行左右,找到:

 

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

修改为:

 

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

 

二、打开esearchresultindex.php20行左右,找到:

 

//搜索结果$searchid=(int)$_GET['searchid'];

在前面添加分页函数:

 

//增加分页函数functionpage10($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='<atitle="'.$fun_r['trecord'].'">&nbsp;'.$num.'&nbsp;</a>&nbsp;&nbsp;';//上一页if($page<>0){$toppage='<ahref="'.$url.'-0-'.$search.'.html">'.$fun_r['startpage'].'</a>&nbsp;';$pagepr=$page-1;$prepage='<ahref="'.$url.'-'.$pagepr.'-'.$search.'.html">'.$fun_r['pripage'].'</a>';}//下一页if($page!=$totalpage-1){$pagenex=$page+1;$nextpage='&nbsp;<ahref="'.$url.'-'.$pagenex.'-'.$search.'.html">'.$fun_r['nextpage'].'</a>';$lastpage='&nbsp;<ahref="'.$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='<ahref="'.$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行左右找到:

 

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

修改为

 

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

 

 

修改:

 

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

 

$search="$searchid";

 

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

 

#搜索

 

RewriteRule^search-(.+?)-(.+?).html$/e/search/result/index.php?page=$1&searchid=$2

 

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

 

比如

 

<formaction='http://www.11px.cn/e/search/index.php'method="post"name="search_news"id="search_news">

 

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