帝国CMS栏目ID+结合项伪静态,支持分页

2019-09-04 0 584

 跟帝国官方的差不多,只是伪静态了。

没有官方支持的筛选项多,只支持:栏目ID,筛选项,分页。需要其他比如:专题ID模型id模版ID排序等等,可以自己修改。

说明:

一:建立字段时候要用:值==名称的形式。不要用0,0留着给不限使用。

二:需要在e/action/ListInfo.php加几行代码,判断伪静态使用分页函数的

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

在下面添加:

//如果启用结合项并且伪静态的分页

if($_GET[‘ph’]==1 && strpos($_SERVER[‘REQUEST_URI’],’.html’)){

$listpage=page_sx($num,$line,$page_line,$start,$page,$_SERVER[REQUEST_URI]);

}

三:把userfun.php的函数复制到你的userfun.php。如果没修改过,可以覆盖。

四:伪静态规则:

apache的

RewriteRule ^10-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$        /e/action/ListInfo.php?classid=10&ph=1&myarea=$1&sex=$2&age=$3&page=$4 [L]

五:在需要显示的栏目模版加:<?=user_showfield();?>



APACHE的,IIS需要判断$_SERVER[REQUEST_URI] 




userfun.php代码:

  1. <?php
  2. //显示结合项筛选选项
  3. function user_showfield($ecms=0){
  4. global $public_r;
  5. //——- 函数参数设置开始 —–
  6. //要显示的结合项字段列表,多个字段用半角逗号“,”隔开
  7. $fieldandvar=’myarea,sex,age’;
  8. //字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2
  9. $fieldandval=array();
  10. $fieldandval[‘myarea’]='<b>地区:</b>|==|##不限,0##东城,1##朝阳,2##崇文,3##宣武,4##海淀,5##丰台,6′;
  11. $fieldandval[‘sex’]='<b>性别:</b>|==|##不限,0##男,1##女,2##人妖,3′;
  12. $fieldandval[‘age’]='<b>年龄:</b>|==|##不限,0##1-10,1##11-20,2##21-30,3##31-40,4##41-50,5##50岁以上,6′;
  13. //正常链接样式
  14. $fieldandcss=’fieldandcss’;
  15. //已选的选项链接样式
  16. $changefieldandcss=’changefieldandcss’;
  17. //字段与字段的显示间隔符,格式:开始显示字符|结束显示字符
  18. $fieldexp='<table><tr><td>|</td></tr></table>’;
  19. //选项与选项的显示间隔符,格式:开始显示字符|结束显示字符
  20. $valexp=’| ‘;
  21. //——- 函数参数设置结束 —–
  22. //间隔字符
  23. $fieldexpr=explode(‘|’,$fieldexp);
  24. $valexpr=explode(‘|’,$valexp);
  25. //输出选项
  26. $fr=explode(‘,’,$fieldandvar);
  27. $fcount=count($fr);
  28. $allstr=”;
  29. $urladd=”;
  30. for($i=0;$i<$fcount;$i++){
  31. $field=$fr[$i];
  32. //选项链接
  33. $getval=’0′;
  34. if($_GET[$field]){
  35. $getval=htmlspecialchars($_GET[$field],ENT_QUOTES);
  36. }
  37. //选项说明
  38. $vsayr=explode(‘|==|’,$fieldandval[$field]);
  39. //选项内容
  40. $valallstr=”;
  41. $vr=explode(‘##’,$vsayr[1]);
  42. $vcount=count($vr);
  43. for($vi=0;$vi<$vcount;$vi++){
  44. $vtr=explode(‘,’,$vr[$vi]);
  45. if($getval==$vtr[1]){
  46. $css=$changefieldandcss;
  47. }else{
  48. $css=$fieldandcss;
  49. }
  50. $trueurl=$field.’|’.$vtr[1];
  51. $url=Return_Url($fr,$trueurl);
  52. $valallstr.=$valexpr[0].'<a href="’.$public_r[newsurl].$url.’" class="’.$css.’">’.$vtr[0].'</a>’.$valexpr[1];
  53. }
  54. $allstr.=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1];
  55. }
  56. echo $allstr;
  57. }
  58. //结合项伪静态返回地址。
  59. function Return_Url($zd_arr,$trueurl){
  60. global $classid,$page,$public_r;
  61. $url_zuhe=”;
  62. if(strpos($_SERVER[REQUEST_URI],’.html’) && $_GET[‘ph’]==1){
  63. $url_zuhe=$_SERVER[REQUEST_URI];
  64. }else{
  65. for($i=0;$i<count($zd_arr);$i++){
  66. $url_zdzh.=’0-‘;
  67. }
  68. $url_zuhe=’/’.$classid.’-‘.$url_zdzh.$page.’.html’;
  69. }
  70. $ser_url=explode(‘-‘,$url_zuhe);
  71. $url_arr=explode(‘|’,$trueurl);
  72. $ser_url[count($ser_url)-1]=’0.html’;//如果有分页的话,筛选后分页是0,免得不是第一页没数据显示
  73. if(is_array($zd_arr)){
  74. foreach($zd_arr as $key=>$val){
  75. if($url_arr[0]==$val){
  76. $ser_url[$key+1]=$url_arr[1]; //因为有classis所有key要加1  
  77. }
  78. }
  79. }
  80. foreach($ser_url as $val){
  81. $url.=$val.’-‘;
  82. }
  83. return substr(substr($url,0,-1),1);
  84. }
  85. //结合项分页
  86. function page_sx($num,$line,$page_line,$start,$page,$search){
  87. global $fun_r;
  88. if($num<=$line){
  89. return ”;
  90. }
  91. $search=RepPostStr($search,1);
  92. $lj_arr=explode(‘-‘,$search);
  93. $lj_arr[count($lj_arr)-1]=”;//去掉页数.html
  94. foreach ($lj_arr as $val){
  95. $lianjie.=$val.’-‘;
  96. }
  97. $lianjie=substr($lianjie,0,-1);
  98. $url=eReturnSelfPage(0).’?page’;
  99. $snum=2;//最小页数
  100. $totalpage=ceil($num/$line);//取得总页数
  101. $firststr='<a title="’.$fun_r[‘trecord’].’">&nbsp;<b>’.$num.'</b> </a>&nbsp;&nbsp;’;
  102. //上一页
  103. if($page<>0){
  104. $toppage='<a href="’.$lianjie.’0.html">’.$fun_r[‘startpage’].'</a>&nbsp;’;
  105. $pagepr=$page-1;
  106. $prepage='<a href="’.$lianjie.$pagepr.’.html">’.$fun_r[‘pripage’].'</a>’;
  107. }
  108. //下一页
  109. if($page!=$totalpage-1){
  110. $pagenex=$page+1;
  111. $nextpage=’&nbsp;<a href="’.$lianjie.$pagenex.’.html">’.$fun_r[‘nextpage’].'</a>’;
  112. $lastpage=’&nbsp;<a href="’.$lianjie.($totalpage-1).’.html">’.$fun_r[‘lastpage’].'</a>’;
  113. }
  114. $starti=$page-$snum<0?0:$page-$snum;
  115. $no=0;
  116. for($i=$starti;$i<$totalpage&&$no<$page_line;$i++){
  117. $no++;
  118. if($page==$i){
  119. $is_1="<b>";
  120. $is_2="</b>";
  121. }else{
  122. $is_1='<a href="’.$lianjie.$i.’.html">’;
  123. $is_2="</a>";
  124. }
  125. $pagenum=$i+1;
  126. $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
  127. }
  128. $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
  129. return $returnstr;
  130. }
  131. ?>

PS.由于前期整理文章没有进行格式化信息处理,导致有些包含代码修改的信息,格式混乱看不清楚。如果发现有此类问题,请在下方评论留言,小编第一时间进行格式化整理!感谢配合

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1、如非特殊说明,本站对本文提供的代码或者素材不拥有任何权利,其版权归原著者拥有。
2、以上提供的代码或者素材均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、如有侵犯你版权的,请来信(邮箱:admin@mail.52muban.com)指出,核实后,本站将立即改正。
4、如有链接无法下载、失效或广告,请点击下面的报错或者联系我们处理!
5、以上资源售价只是赞助,不代表代码或者素材本身价格。收取费用仅维持本站的日常运营所需!

我爱模板网 dedecms教程 帝国CMS栏目ID+结合项伪静态,支持分页 https://www.52muban.com/2925.html

专注网站开发,建设。

常见问题
  • 我们承诺演示效果图均和网站一模一样,如有不同,全额退款,并且我们的模板和数据都没有留后门,请放心使用。
查看详情
  • 本站所有源码版权归原作者所有,我爱模板网提供的源码只能用于学习研究,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务