帝国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="$dotype."'>".$fun_r['startpage']."  ";
15     }
16     else
17     {
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         else
29         {
30             $prido=$add['dofile'].'_'.$pagepr.$dotype;
31         }
32         $pagepri="".$fun_r['pripage']."  ";
33     }
34     else
35     {
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="".$fun_r['nextpage']."  ";
45     }
46     else
47     {
48         $pagenext=$fun_r['nextpage']."  ";
49     }
50     //尾页
51     if($pagenum==$page)
52     {
53         $pageeof=$fun_r['lastpage'];
54     }
55     else
56     {
57         $lastpagelink=$repagenum&&$repagenum<$page?eReturnRewritePageLink2($add,$page):$dolink.$add['dofile'].'_'.$page.$dotype;
58         $pageeof="".$fun_r['lastpage']."";
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             else
69             {$file=$add['dofile'].'_'.$go.$dotype;}
70             $thispagelink=$repagenum&&$repagenum<$go?eReturnRewritePageLink2($add,$go):$file;
71             if($ok==$go)
72             {$select=" selected";}
73             else
74             {$select="";}
75             $myoptions.="";
76             $options.="";
77         }
78     }
79     else
80     {
81         $myoptions=$search;
82         $options=str_replace("value='".$add['dofile'].'_'.$ok.$dotype."'>","value='".$add['dofile']."_".$ok.$dotype."' selected>",$search);
83     }
84     $options="";
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']='
'.$pagepri.$options.$pagenext.'
'; 94 $pager['option']=$myoptions; 95 return $pager; 96 }
View Code

 

一些注释:

  1. 手机站上分页只需要“上一页”、“下一页”、“下拉分页”。同时将“上一页”、“下一页”分开,按“上一页”、“下拉分页”、“下一页”的顺序排列。
  2. $dolink获取的是当前栏目的地址。如:http://www.thy6415.com/moban/。但手机站应该是http://www.thy6415.com/wap/moban/m.thy6415.com/moban/。所以要把$dolink去掉。地址直接使用index_*.html

最后还是看下我做过的一个手机站的列表分页整体效果如何:

帝国CMS手机站修改列表分页(sys_ShowListMorePage)_第1张图片

 

本文博客地址:http://www.thy6415.com/empirecms-mobile-page.html

转载于:https://www.cnblogs.com/thy6415/p/3916878.html

你可能感兴趣的:(帝国CMS手机站修改列表分页(sys_ShowListMorePage))