首页 > 代码库 > 帝国CMS手机站修改列表分页(sys_ShowListMorePage)
帝国CMS手机站修改列表分页(sys_ShowListMorePage)
如果你的网站使用的是帝国CMS。PC站和手机站各使用一个模板组,但共同使用一个数据库。那么你的PC站和手机站,列表分页样式是一样的吗?
今天嗨分享-前端技术将带你感受不一样的分页样式!
PC站可以把分页按1、2、3、4。。。这样并排 列出来,但手机站是万万不可以这样做的,否则手机屏幕小,分页看着都好长,一点都不美观。
帝国CMS的PC站可以使用[!--show.listpage--]
调用列表形式的列表分页函数(sys_ShowListMorePage
)。
一旦PC站使用[!--show.listpage--]
,那么手机站也将使用[!--show.listpage--]
调用列表形式的列表分页函数(sys_ShowListMorePage
)。--因为他们使用的是同一个数据库。
而通常的手机站应该调用下拉形式的列表分页函数(sys_ShowListPage
)
这样目标已经很明显了。手机站同PC站一样使用列表形式的列表分页函数(sys_ShowListMorePage
),只需要将手机站的sys_ShowListMorePage
函数主体内容,改成下拉形式的列表分页函数(sys_ShowListPage
)的主体内容。只不过函数名称没有变而已。
在手机站的e/class/t_function.php文件中修改以下内容:
一、找到并复制sys_ShowListPage
函数主体内容。
复制function sys_ShowListPage(
到结束的}
之间的内容。
二、粘贴给sys_ShowListMorePage
函数,再进行修改,让适用帝国CMS手机站,这里给出我最终的修改版:
1 //列表模板之列表式分页 2 function sys_ShowListMorePage($num,$pagenum,$dolink,$dotype,$page,$lencord,$ok,$search="",$add){ 3 global $fun_r; 4 //文件名 5 if(empty($add[‘dofile‘])) 6 { 7 $add[‘dofile‘]=‘index‘; 8 } 9 //静态页数10 $repagenum=$add[‘repagenum‘];11 //首页12 if($pagenum<>1)13 {14 $pagetop="<a href=http://www.mamicode.com/‘".$dolink.$add[‘dofile‘].$dotype."‘>".$fun_r[‘startpage‘]."</a> ";15 }16 else17 {18 $pagetop=$fun_r[‘startpage‘]." ";19 }20 //上一页21 if($pagenum<>1)22 {23 $pagepr=$pagenum-1;24 if($pagepr==1)25 {26 $prido=$add[‘dofile‘].$dotype;27 }28 else29 {30 $prido=$add[‘dofile‘].‘_‘.$pagepr.$dotype;31 }32 $pagepri="<a href=http://www.mamicode.com/‘".$prido."‘>".$fun_r[‘pripage‘]."</a> ";33 }34 else35 {36 $pagepri=$fun_r[‘pripage‘]." ";37 }38 echo $dolink;39 //下一页40 if($pagenum<>$page)41 {42 $pagenex=$pagenum+1;43 $nextpagelink=$repagenum&&$repagenum<$pagenex?eReturnRewritePageLink2($add,$pagenex):$add[‘dofile‘].‘_‘.$pagenex.$dotype;44 $pagenext="<a href=http://www.mamicode.com/‘".$nextpagelink."‘>".$fun_r[‘nextpage‘]."</a> ";45 }46 else47 {48 $pagenext=$fun_r[‘nextpage‘]." ";49 }50 //尾页51 if($pagenum==$page)52 {53 $pageeof=$fun_r[‘lastpage‘];54 }55 else56 {57 $lastpagelink=$repagenum&&$repagenum<$page?eReturnRewritePageLink2($add,$page):$dolink.$add[‘dofile‘].‘_‘.$page.$dotype;58 $pageeof="<a href=http://www.mamicode.com/‘".$lastpagelink."‘>".$fun_r[‘lastpage‘]."</a>";59 }60 $options="";61 //取得下拉页码62 if(empty($search))63 {64 for($go=1;$go<=$page;$go++)65 {66 if($go==1)67 {$file=$add[‘dofile‘].$dotype;}68 else69 {$file=$add[‘dofile‘].‘_‘.$go.$dotype;}70 $thispagelink=$repagenum&&$repagenum<$go?eReturnRewritePageLink2($add,$go):$file;71 if($ok==$go)72 {$select=" selected";}73 else74 {$select="";}75 $myoptions.="<option value=http://www.mamicode.com/‘".$thispagelink."‘>".$fun_r[‘gotos‘].$go.$fun_r[‘gotol‘]."</option>";76 $options.="<option value=http://www.mamicode.com/‘".$thispagelink."‘".$select.">".$fun_r[‘gotos‘].$go.$fun_r[‘gotol‘]."</option>";77 }78 }79 else80 {81 $myoptions=$search;82 $options=str_replace("value=http://www.mamicode.com/‘".$add[‘dofile‘].‘_‘.$ok.$dotype."‘>","value=http://www.mamicode.com/‘".$add[‘dofile‘]."_".$ok.$dotype."‘ selected>",$search);83 }84 $options="<select name=select onchange=\"self.location.href=http://www.mamicode.com/this.options[this.selectedIndex].value/">".$options."</select>";85 //分页86 //thy -- $pagelink=$pagetop.$pagepri.$pagenext.$pageeof; -- 将上一页和下一页拆分开:87 $pagepri=$pagepri;88 $pagenext=$pagenext;89 //替换模板变量90 //thy -- $pager[‘showpage‘]=ReturnListpageStr($pagenum,$page,$lencord,$num,$pagelink,$options); 91 //-- 返回到function.php中的ReturnListpageStr()函数,在ReturnListpageStr()函数中添加‘页次‘、‘总页数‘、‘总条数‘等。92 //-- 在手机站中不需要这些,所以不用返回93 $pager[‘showpage‘]=‘<div class="pageList">‘.$pagepri.$options.$pagenext.‘</div>‘;94 $pager[‘option‘]=$myoptions;95 return $pager;96 }
一些注释:
- 手机站上分页只需要“上一页”、“下一页”、“下拉分页”。同时将“上一页”、“下一页”分开,按“上一页”、“下拉分页”、“下一页”的顺序排列。
$dolink
获取的是当前栏目的地址。如:http://www.thy6415.com/moban/
。但手机站应该是http://www.thy6415.com/wap/moban/
或m.thy6415.com/moban/
。所以要把$dolink
去掉。地址直接使用index_*.html
最后还是看下我做过的一个手机站的列表分页整体效果如何:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。