小李SEO博客

网站优化服务

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

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

没有官方支持的筛选项多,只支持:栏目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代码:

<?php//显示结合项筛选选项function user_showfield($ecms=0){global $public_r;//------- 函数参数设置开始 -----//要显示的结合项字段列表,多个字段用半角逗号“,”隔开$fieldandvar='myarea,sex,age';//字段显示选项设置,多项用双“#”号隔开,格式:选项说明|==|内容1,值1##内容2,值2$fieldandval=array();$fieldandval['myarea']='<b>地区:</b>|==|##不限,0##东城,1##朝阳,2##崇文,3##宣武,4##海淀,5##丰台,6';$fieldandval['sex']='<b>性别:</b>|==|##不限,0##男,1##女,2##人妖,3';$fieldandval['age']='<b>年龄:</b>|==|##不限,0##1-10,1##11-20,2##21-30,3##31-40,4##41-50,5##50岁以上,6';//正常链接样式$fieldandcss='fieldandcss';//已选的选项链接样式$changefieldandcss='changefieldandcss';//字段与字段的显示间隔符,格式:开始显示字符|结束显示字符$fieldexp='<table><tr><td>|</td></tr></table>';//选项与选项的显示间隔符,格式:开始显示字符|结束显示字符$valexp='| ';//------- 函数参数设置结束 -----//间隔字符$fieldexpr=explode('|',$fieldexp);$valexpr=explode('|',$valexp);//输出选项$fr=explode(',',$fieldandvar);$fcount=count($fr);$allstr='';$urladd='';for($i=0;$i<$fcount;$i++){$field=$fr[$i];//选项链接$getval='0';if($_GET[$field]){$getval=htmlspecialchars($_GET[$field],ENT_QUOTES);}//选项说明$vsayr=explode('|==|',$fieldandval[$field]);//选项内容$valallstr='';$vr=explode('##',$vsayr[1]);$vcount=count($vr);for($vi=0;$vi<$vcount;$vi++){$vtr=explode(',',$vr[$vi]);if($getval==$vtr[1]){$css=$changefieldandcss;}else{$css=$fieldandcss;}$trueurl=$field.'|'.$vtr[1];$url=Return_Url($fr,$trueurl);$valallstr.=$valexpr[0].'<a href="'.$public_r[newsurl].$url.'" class="'.$css.'">'.$vtr[0].'</a>'.$valexpr[1];}$allstr.=$fieldexpr[0].$vsayr[0].$valallstr.$fieldexpr[1];}echo $allstr;}//结合项伪静态返回地址。function Return_Url($zd_arr,$trueurl){global $classid,$page,$public_r;$url_zuhe='';if(strpos($_SERVER[REQUEST_URI],'.html') && $_GET['ph']==1){$url_zuhe=$_SERVER[REQUEST_URI];}else{for($i=0;$i<count($zd_arr);$i++){$url_zdzh.='0-';}$url_zuhe='/'.$classid.'-'.$url_zdzh.$page.'.html';}$ser_url=explode('-',$url_zuhe);$url_arr=explode('|',$trueurl);$ser_url[count($ser_url)-1]='0.html';//如果有分页的话,筛选后分页是0,免得不是第一页没数据显示if(is_array($zd_arr)){foreach($zd_arr as $key=>$val){if($url_arr[0]==$val){$ser_url[$key+1]=$url_arr[1]; //因为有classis所有key要加1  }}}foreach($ser_url as $val){$url.=$val.'-';}return substr(substr($url,0,-1),1);}//结合项分页function page_sx($num,$line,$page_line,$start,$page,$search){global $fun_r;if($num<=$line){return '';}$search=RepPostStr($search,1);$lj_arr=explode('-',$search);$lj_arr[count($lj_arr)-1]='';//去掉页数.htmlforeach ($lj_arr as $val){$lianjie.=$val.'-';}$lianjie=substr($lianjie,0,-1);$url=eReturnSelfPage(0).'?page';$snum=2;//最小页数$totalpage=ceil($num/$line);//取得总页数$firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';//上一页if($page<>0){$toppage='<a href="'.$lianjie.'0.html">'.$fun_r['startpage'].'</a>&nbsp;';$pagepr=$page-1;$prepage='<a href="'.$lianjie.$pagepr.'.html">'.$fun_r['pripage'].'</a>';}//下一页if($page!=$totalpage-1){$pagenex=$page+1;$nextpage='&nbsp;<a href="'.$lianjie.$pagenex.'.html">'.$fun_r['nextpage'].'</a>';$lastpage='&nbsp;<a href="'.$lianjie.($totalpage-1).'.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="'.$lianjie.$i.'.html">';$is_2="</a>";}$pagenum=$i+1;$returnstr.="&nbsp;".$is_1.$pagenum.$is_2;}$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;return $returnstr;}?>

上一篇:帝国CMS内容页调用当前文章作者信息及调用会员除了当前文章以外的其他相关文章 下一篇:帝国CMS广告JS被过滤的几种解决方法
相关帝国cms文章阅读
  • 帝国CMS备份还原数据库出现错误的真正原因和处理办法,请小伙伴们一定要看下!

    很多小伙伴们通过帝国CMS后台备份数据库以后,发现空间搬家以后再还原就不行了,出错率很高! 问题的原因是数据搬家的时候,服务器环境发生的变动,比如PHP版本环境或者MYSQL版本环境!...

  • 帝国cms模板前台使用灵动标签调用管理信息反馈中的内容

    问;如何前台调用管理信息反馈中的内容,我需要在前台调用信息反馈的标题,ip地址,内容,网址等。我估计是用sql调用,但是如何调用? 答:灵动标签sql语句调用信息反馈 [e:loop={select * from...

  • 帝国cms模板调用收藏该内容会员的代码

    方法1、(不带头像) [e:loop={select * from [!db.pre!]enewsfava where classid=$navinfor[classid] and id=$navinfor[id] group by userid limit 10,1,24,0}] lia href=!--news.url--]e/space/?userid=?=$bqr[userid]? target=_blankh5?=$bqr[username]?/h5...

  • 帝国cms百度主动自动推送插件PRO版安装教程

    小李网络公司介绍帝国cms百度主动自动推送插件PRO版安装教程知识,包括帝国CMS百度主动推送插件+移动端同步生成插件图文教程,app插件推送app越狱插件推送百度主动推送插件APP推送源微信越狱插...

  • 帝国CMS自定义标签每月月份发布文章数的统计

    兼容帝国原来的使用方法即网站信息统计标签[totaldata]使用方法一样 只是时间上0为所有时间不限制、1为今日、2为本月、3为本年(11表示本年1月,12表示本年二月,...,22表示本年12月) ,注意4...

  • 帝国CMS如果信息为当天就加New标志

    本功能实现调用信息时候如果是当天发布的最新信息显示New标志图片。 ul [e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}] ? $newimg=; if(date(m-d,$bqr[truetime]) == date(m-d)) { $newimg = img src='New图片...

  • 帝国cms模板php灵动标签循环栏目带文章设置方法

    具体效果如下: ======== |新闻中心| 一级栏目 ======== |国内新闻| 二级栏目 -------- |国内一 | |国内二 | |国内三 | 二级栏目文章 |国内四 | |国内五 | -------- |国际新闻| 二级栏目 -------- |国际一 | |国...

  • 帝国CMS会员空间调用标签、变量、函数

    整理会员空间模板可调用的标签、变量等。。。 当前页面名称: ?=$mr['qmname']? 当前位置: ?=$url? 字段调用: ?=$r[字段名]? 例如:?=$r[title]? 、 ?=$r[titlepic]? 等, 时间:?=date(Y-m-d H:i:s,$r[newstime])...

  • 帝国CMS模板制作中手动相关链接调用设置方法

    小李网络公司介绍帝国CMS模板制作中手动相关链接调用设置方法知识,包括帝国调用discuz帝国cms文章内调用专题帝国sql帝国模板·一品资源帝国cms数据导入dz帝国cms帝国cms模板帝国cms模板怎么样用...

  • 帝国CMS灵动标签调用标题图片没有图片时显示默认图片

    使用灵动标签调用信息标题图片,但有时候如果没有标题图片,显示图片的位置就会是空白的影响美观。 使用以下灵动标签调用可实现当不存在标题图片的时候显示默认图片: src=?=$bqr[titlep...

  • 帝国CMS列表模板过滤简介的Html代码

    帝国CMS真是一个让新手又爱又恨的程序,都说帝国很强大,可是要上手起来很难,更别说能深入研究。这里要分享的是如何在列表中过滤html代码。 虽然说,简介字段最好不要用编辑器,但是有...

  • 帝国cms全站去版权方法

    1、后台起始页的版权 目录e/admin/main.php 搜索该页面的帝国俩字,去除所有的帝国字眼。EmpireCMS字眼同理,不过小心别把自定义的字段去了 还有程序版本、开发团队等等 2、后台左上角的logo图片...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640