设为首页收藏本站

PHPIN.NET

 找回密码
 立即注册
查看: 742|回复: 0

[技巧手记] 帝国cms简单实现搜索页面伪静态

[复制链接]

374

主题

381

帖子

2554

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2554
发表于 2014-2-19 15:01:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一、打开\e\search\index.php   411行左右,找到:
  1. Header("Location:result/?searchid=$searchid".$dogetvar);
复制代码

修改为:
  1. Header("Location:$public_r[newsurl]search-0-$searchid.html".$dogetvar);
复制代码

二、打开\e\search\result\index.php  20行左右,找到:
  1. //搜索结果
  2. $searchid=(int)$_GET['searchid'];
复制代码

在前面添加分页函数:
  1. //增加分页函数
  2. function page10($num,$line,$page_line,$start,$page,$search){
  3. global $fun_r;
  4. if($num<=$line)
  5. {
  6. return '';
  7. }
  8. $search=RepPostStr($search,1);
  9. $url=$public_r['newsurl'].'search';
  10. $snum=2;//最小页数
  11. $totalpage=ceil($num/$line);//取得总页数
  12. $firststr='<a title="'.$fun_r['trecord'].'"> '.$num.' </a>  ';
  13. //上一页
  14. if($page<>0)
  15. {
  16. $toppage='<a href="'.$url.'-0-'.$search.'.html">'.$fun_r['startpage'].'</a> ';
  17. $pagepr=$page-1;
  18. $prepage='<a href="'.$url.'-'.$pagepr.'-'.$search.'.html">'.$fun_r['pripage'].'</a>';
  19. }
  20. //下一页
  21. if($page!=$totalpage-1)
  22. {
  23. $pagenex=$page+1;
  24. $nextpage=' <a href="'.$url.'-'.$pagenex.'-'.$search.'.html">'.$fun_r['nextpage'].'</a>';
  25. $lastpage=' <a href="'.$url.'-'.($totalpage-1).'-'.$search.'.html">'.$fun_r['lastpage'].'</a>';
  26. }
  27. $starti=$page-$snum<0?0:$page-$snum;
  28. $no=0;
  29. for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
  30. {
  31. $no++;
  32. if($page==$i)
  33. {
  34. $is_1="<b>";
  35. $is_2="</b>";
  36. }
  37. else
  38. {
  39. $is_1='<a href="'.$url.'-'.$i.'-'.$search.'.html">';
  40. $is_2="</a>";
  41. }
  42. $pagenum=$i+1;
  43. $returnstr.=" ".$is_1.$pagenum.$is_2;
  44. }
  45. $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
  46. return $returnstr;
  47. }
复制代码

然后在48行左右找到:
  1. $listpage=page1($num,$line,$page_line,$start,$page,$search);
复制代码

修改为:
  1. $listpage=page10($num,$line,$page_line,$start,$page,$search);
复制代码
找到:
  1. $search="&searchid=".$searchid;
复制代码

修改为:
  1. $search=$searchid;
复制代码


三、添加伪静态规则(例子为Apache,自己修改为对应的)
  1. #搜索
  2. RewriteRule ^search-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page=$1&searchid=$2
复制代码

四、修改搜索模板中的提交地址为绝对地址:
比如
<form action='/e/search/index.php' method="post" name="search_news" id="search_news">
提示:不建议使用相对地址。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|PHPIN.NET ( 冀ICP备00000001号 )|网站地图  

GMT+8, 2016-12-4 14:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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