帝国CMS默认的列表页分页样式不是很好看,但功能性上是非常不错的,所以建议最好不要去修改系统文件,有需要的话可以修改css样式表。
默认的[!--show.listpage--]效果图:
对于有需要的童鞋,可以修改e/class/t_functions.php文件下的sys_ShowListMorePage函数。
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | function sys_ShowListMorePage( $num , $page , $dolink , $type , $totalpage , $line , $ok , $search = "" ){ global $fun_r , $public_r ; //num是取得的当前总的文章数,line是栏目设定里的一页显示多少文章数。如果当前文章总数少于设定数,中断程序返回,并且什么也不显示。 if ( $num <= $line ) { $pager [ 'showpage' ]= '' ; return $pager ; } //listpagelistnum是"参数设置" 里的 "信息设置" 下的 "列表分页函数" 每页显示16个页码这一项。上面的图片上因为文章较少,所以只显示了6个。 $page_line = $public_r [ 'listpagelistnum' ]; $snum =2; //这个$snum可以控制 "当前页" 显示的位置,设置成2,当前页就显示在第3个位置。上面的效果图上snum=2。 //$totalpage=ceil($num/$line);//取得总页数 $firststr = '<a title="Total record"> <b>' . $num . '</b> </a> ' ; //显示总文章数 //上一页 if ( $page <>1) { //若当前页不是第一页,则显示它的上一页链接 //$dolink是栏目的地址,比如http://www.moyublog.com/studio/;$type是网页文件的扩展名,比如 .html ,那个$type之前有个点,是起连接作用的连接符,也就是说$type里面的内容是.html $toppage = '<a rel="nofollow noopener noreferrer" href="' . $dolink . 'index' . $type . '">' . $fun_r [ 'startpage' ]. '</a> ' ; $pagepr = $page -1; if ( $pagepr ==1) { $prido = "index" . $type ; } else { $prido = "index_" . $pagepr . $type ; } $prepage = '<a rel="nofollow noopener noreferrer" href="' . $dolink . $prido . '">' . $fun_r [ 'pripage' ]. '</a>' ; } //下一页 if ( $page != $totalpage ) { //如果当前页不是最后一页,则显示它的下一页链接 $pagenex = $page +1; $nextpage = ' <a rel="nofollow noopener noreferrer" href="' . $dolink . 'index_' . $pagenex . $type . '">' . $fun_r [ 'nextpage' ]. '</a>' ; $lastpage = ' <a rel="nofollow noopener noreferrer" href="' . $dolink . 'index_' . $totalpage . $type . '">' . $fun_r [ 'lastpage' ]. '</a>' ; } //通过判断当前页码与上面讲述的snum的大小,确定页码显示的状态。如果$page-$snum<1,$starti赋值为1,否则$starti赋值为$page-$snum。 $starti = $page - $snum <1?1: $page - $snum ; $no =0; //此处的for循环就是用来显示页码的,包括从第几个页码开始显示,以及当前页码加粗和显示多少个页码 for ( $i = $starti ; $i <= $totalpage && $no < $page_line ; $i ++) { $no ++; //如果是当前页码,则加粗,有需要修改当前页码样式的可在此修改 if ( $page == $i ) { $is_1 = "<b>" ; $is_2 = "</b>" ; } //如果当前页是首页 elseif ( $i ==1) { $is_1 = '<a rel="nofollow noopener noreferrer" href="' . $dolink . 'index' . $type . '">' ; $is_2 = "</a>" ; } //其余的页码,可以通过给a加样式来修改显示效果 else { $is_1 = '<a rel="nofollow noopener noreferrer" href="' . $dolink . 'index_' . $i . $type . '">' ; $is_2 = "</a>" ; } //$returnstr即是生成的显示页号的代码 $returnstr .= ' ' . $is_1 . $i . $is_2 ; } $returnstr = $firststr . $toppage . $prepage . $returnstr . $nextpage . $lastpage ; $pager [ 'showpage' ]= $returnstr ; return $pager ; } |
本文帝国CMS修改默认列表模版分页样式[!--show.listpage--]到此结束。失败面前无所谓高手,在失败的面前,谁都是凡人。小编再次感谢大家对我们的支持!