小李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]='';//去掉页数.html
foreach ($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内容页面description调用新闻信息简介
相关帝国cms文章阅读
  • 帝国cms清空数据让内容ID从0开始标签代码

    小李网络公司介绍帝国cms清空数据让内容ID从0开始标签代码知识,包括帝国cms批量清空栏目及内容及标签等数据方法教程_菜鸟学习网,帝国CMS如何实现删除栏目、清空文章数据后新增栏目和文章...

  • EcmsToSendMail()帝国CMS发送邮件函数

    EcmsToSendMail() 函数:EcmsToSendMail() 功能:帝国CMS邮件发送函数 位置:帝国CMS SendEmail.inc.php 版本:6.5 EcmsToSendMail($email,$subject,$content); $emai: 邮件地址可为数组 $subject: 邮件标题 $content: 邮件内容 说...

  • 帝国CMS会员使用邮箱或用户名同时登陆修改教程

    这个功能想必大家都想知道吧,其实修改实现起来还是非常容易的,看看方法就知道了,可以同时实现用户名或者使用注册是的邮箱进行登陆帐号。 修改方法如下: 打开 e/member/class/member_log...

  • 帝国CMS灵动标签调用会员列表教程

    使用万能的灵动标签来调用: 示例代码如下: [e:loop={select u.username,u.userid,userpic,mycall,ui.company from phome_enewsmember u LEFT JOIN phome_enewsmemberadd ui ON u.userid=ui.userid where u.groupid=3 limit 10,10,24,0}]lidiv onm...

  • 帝国CMS发送欢迎邮件给新注册会员

    版本:帝国CMS6.5 GBK/UTF8 (简) 功能:发送一份欢迎邮件给新注册会员 作者:trylife 主页:www.trylife.cn 本地下载 1.zip d41a73529d410eb2bdb972fdff91093d.zip(231.96 KB)...

  • 帝国CMS列表/标签/JS支持置顶的方法

    帝国CMS有置顶的功能,可以将信息设置置顶。 但列表页、标签调用、JS调用却不支持置顶排前面。这是因为帝国CMS默认没有开启置顶排序功能。 通过以下方法开启: 系统参数设置--信息设置...

  • 帝国CMS登陆表单制作示例教程

    帝国CMS内置强大的搜索功能,用户只需制作搜索表单指向搜索处理页面即可实现相应搜索。本文讲解:搜索表单制作语法。 搜索表单的变量说明 变量名 说明 例子 搜索表单提交地址 POST方式:...

  • 帝国cms调用信息按收藏数排序SQL

    SQL: select a.id,a.classid,a.title,a.titlepic,a.username,a.userid,a.applynum,a.onclick,a.titleurl,b.id,b.classid,count(b.id) fromphome_ecms_newsas a left join phone_enewsfava as b on a.id=b.id and a.classid=b.classid wherea.classid=1anda.ispic=1group...

  • 给帝国官方CMS的前台友情链接申请插件增加个邮件提醒功能

    帝国官方的前台友情链接申请插件非常的不错,相信大家一定也很喜欢,但什么东西都没有完美的,可能有的站长还是希望可以再增强一些,没错,的确有人想到了,就是给增加一个邮件提醒...

  • 帝国CMS内容页调用TAG的5种方法!包括PHP和灵动还有样式改造!

    方法1、 调用10条当前tag [showtags]selfinfo,10,0,,0,,nbsp;,0,,tagname[/showtags] 方法2、 内容页调用tag,按tagname调用 div class=tagslineTags:? $a=$navinfor[infotags]; $str=str_replace(,, ,, $a); $tag=; $t= explode(,, $str); for($...

  • 帝国CMS首页调用会员信息(两表多表查询)

    首页调用会员信息(同时关联查询两个表) 系统自带调用的会员信息没有附表的信息,如何处理? 同时查询主表和附表,两个表关联的条件是userid 方法1、 代码如下: [e:loop={select a.*,b.* from...

  • 帝国cms反馈增加阿里云手机短信验证码功能

    小李网络公司介绍帝国cms反馈增加阿里云手机短信验证码功能知识,包括帝国cms配置数据库突然收到阿里巴巴验证码帝国cms描述帝国cms视频无法播放帝国cms应用市场主体帝国cms远程附件oss帝国c...

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