
今天修改网站一个小问题,就是帝国CMS的列表页伪静态下的分页问题,本来我的网站使用的是静态模式,所以一直也没有觉察出列表页分页的问题,感觉显示的挺正常的,可是到了伪静态下就出了问题,最大的问题就是列表页标签没有按照修改的样式改变,样式丑爆了,如下图

提前说一下,我的网站添加了东坡Tags插件,而我需要的列表页伪静态下的分页是这个样式

改来改去结果半天的时间也没有找到修改的地方,关键是连一个搜索方法的关键词都搞不清楚,在一个群里问了问,有位朋友竟然需要发红包解决,我感觉是没有到这种程度,所以还是冷静下来重新梳理了一下思路,既然Tags标签页的模板是新闻类的列表模板,而网站列表模板是静态文件,为什么不把东坡的Tags插件改为静态模式试一试呢,果然经过测试之后,把东坡Tags设置为静态tags生成,再打开网站就正常了。
但是也在一个朋友的帮助下,找到一篇文章。原来帝国CMS的列表分页在伪静态和动态模式下的调用函数是不同的!
打开文件e/class/connect.php
伪静态模式对应的函数:InfoUsePage
,大约1828行左右可以找到如下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| //前台分页(伪静态) function InfoUsePage($num,$line,$page_line,$start,$page,$search,$add){ global $fun_r; $num=(int)$num; $line=(int)$line; $page_line=(int)$page_line; $start=(int)$start; $page=(int)$page; if($num<=$line) { return ''; } $search=RepPostStr($search,1); $snum=2;//最小页数 $totalpage=ceil($num/$line);//取得总页数 $firststr='<a title="'.$fun_r['trecord'].'"> <b>'.$num.'</b> </a> '; //上一页 if($page<>0) { $toppage='<a href="'.eReturnRewritePageLink($add,0).'">'.$fun_r['startpage'].'</a> '; $pagepr=$page-1; $prepage='<a href="'.eReturnRewritePageLink($add,$pagepr).'">'.$fun_r['pripage'].'</a>'; } //下一页 if($page!=$totalpage-1) { $pagenex=$page+1; $nextpage=' <a href="'.eReturnRewritePageLink($add,$pagenex).'">'.$fun_r['nextpage'].'</a>'; $lastpage=' <a href="'.eReturnRewritePageLink($add,$totalpage-1).'">'.$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="'.eReturnRewritePageLink($add,$i).'">'; $is_2="</a>"; } $pagenum=$i+1; $returnstr.=" ".$is_1.$pagenum.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; return $returnstr; }
|
动态模式对应的函数:page1
,大约1590行左右可以找到如下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| //前台分页 function page1($num,$line,$page_line,$start,$page,$search){ global $fun_r; $num=(int)$num; $line=(int)$line; $page_line=(int)$page_line; $start=(int)$start; $page=(int)$page; if($num<=$line) { return ''; } $search=RepPostStr($search,1); $url=eReturnSelfPage(0).'?page'; $snum=2;//最小页数 $totalpage=ceil($num/$line);//取得总页数 $firststr='<a title="'.$fun_r['trecord'].'"> <b>'.$num.'</b> </a> '; //上一页 if($page<>0) { $toppage='<a href="'.$url.'=0'.$search.'">'.$fun_r['startpage'].'</a> '; $pagepr=$page-1; $prepage='<a href="'.$url.'='.$pagepr.$search.'">'.$fun_r['pripage'].'</a>'; } //下一页 if($page!=$totalpage-1) { $pagenex=$page+1; $nextpage=' <a href="'.$url.'='.$pagenex.$search.'">'.$fun_r['nextpage'].'</a>'; $lastpage=' <a href="'.$url.'='.($totalpage-1).$search.'">'.$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="'.$url.'='.$i.$search.'">'; $is_2="</a>"; } $pagenum=$i+1; $returnstr.=" ".$is_1.$pagenum.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; return $returnstr; }
|
附上文章地址:https://www.4s5.cn/archives/1604.html
感谢大家来到老刘博客,前言不搭后语的博文,希望能够帮助到有同样困惑的你。