2023年6月21日发(作者:)
帝国cmsV7.2⾃定义分页(列表分页,内容分页)样式步骤【1】⾃⼰修改帝国cms默认的分页样式(css),这样做的好处是你不⽤去改动帝国的核⼼⽂件,⽅便以后升级。【2】⾃⼰动⼿去修改帝国的分页(php+css),帝国的分页在e>class>下的t_这个⽂件⾥。===============================================列表页模板[!----]:分页导航(下拉式) ⼤概在10-98⾏;列表页模板[!--ge--]:分页导航(列表式) 在101-169⾏;内容页模板(返回内容分页):分页导航 在172-228⾏;内容页模板(返回下拉式内容分页导航):标题式分页导航 在231-262⾏。===============================================上⾯⼤概介绍了下这个⽂件下有那些分页,那下⾯我们就来修改程序分页,但是⼜不会在升级程序时候带来⿇烦。第⼀步:进⼊帝国cms后台,点击系统设置->系统参数设置->信息设置:⾥⾯有个"列表分页函数(列表)"选项,将⾥⾯的函数名修改为user_ShowListMorePage第⼆部:复制t_列表式分页代码到 e/class/ 之间下⾯我把分页导航(列表式)拿出来,并带上了注释,如下://列表模板之列表式分页function sys_ShowListMorePage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search="",$add){ global $fun_r,$public_r //num是取得的当前总的⽂章数,line是栏⽬设定⾥的⼀页显⽰多少⽂章数。如果当前⽂章总数少于设定数,中断程序返回,并且什么也不显⽰。 if($num<=$line) { $pager['showpage']=''; $pager['showpage']=''; return $pager; } //⽂件名 if(empty($add['dofile'])) { $add['dofile']='index'; } //静态页数 $repagenum=$add['repagenum']; //listpagelistnum是"系统参数设置" ⾥的 "信息设置" 下的 "列表分页函数(列表)"下的 "每页显⽰12个页码"这⼀项。 $page_line=$public_r['listpagelistnum']; //这个$snum可以控制 "当前页" 显⽰的位置,设置成2,当前页就显⽰在第3个位置。 $snum=2; //$totalpage=ceil($num/$line);//取得总页数 $firststr=' '.$num.' ';//显⽰总⽂章数 //上⼀页 if($page<>1) { //若当前页不是第⼀页,则显⽰它的上⼀页链接 //$dolink是栏⽬的地址,$type是⽹页⽂件的扩展名,⽐如 .html ,那个$type之前有个点,是起连接作⽤的连接符,也就是说$type⾥⾯的内容是 .html $toppage=''.$fun_r['startpage'].' '; $pagepr=$page-1; if($pagepr==1) { $prido=$add['dofile'].$type; } else { $prido=$add['dofile'].'_'.$pagepr.$type; } $prepage=''.$fun_r['pripage'].''; } //下⼀页 if($page!=$totalpage) { //如果当前页不是最后⼀页,则显⽰它的下⼀页链接 $pagenex=$page+1; $nextpagelink=$repagenum&&$repagenum<$pagenex?eReturnRewritePageLink2($add,$pagenex):$dolink.$add['dofile'].'_'.$pagenex.$type; $lastpagelink=$repagenum&&$repagenum<$totalpage?eReturnRewritePageLink2($add,$totalpage):$dolink.$add['dofile'].'_'.$totalpage.$type; $nextpage=' '.$fun_r['nextpage'].''; $lastpage=' '.$fun_r['lastpage'].''; } //通过判断当前页码与上⾯讲述的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=""; $is_2=""; } //如果当前页是⾸页 elseif($i==1) { $is_1=''; $is_2=""; } //其余的页码,可以通过给a加样式来修改显⽰效果 else { $thispagelink=$repagenum&&$repagenum<$i?eReturnRewritePageLink2($add,$i):$dolink.$add['dofile'].'_'.$i.$type; $thispagelink=$repagenum&&$repagenum<$i?eReturnRewritePageLink2($add,$i):$dolink.$add['dofile'].'_'.$i.$type; $is_1=''; $is_2=""; } $returnstr.=' '.$is_1.$i.$is_2;//$returnstr即是⽣成的显⽰页号的代码 } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; $pager['showpage']=$returnstr; return $pager;}接下来是⾃定义部分:第⼀步:进⼊帝国cms后台,点击系统设置->系统参数设置->信息设置:⾥⾯有个"列表分页函数(列表)"选项,将⾥⾯的函数名修改为user_ShowListMorePage第⼆部:到 e/class/ 之间插⼊下⾯代码function user_ShowListMorePage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search=""){ global $fun_r,$public_r; if($num<=$line) { $pager['showpage']=''; return $pager; } $page_line=$public_r['listpagelistnum']; $snum=2;
//上⼀页 if($page<>1) { $toppage=''.$fun_r['startpage'].''; //⾸页 $pagepr=$page-1; if($pagepr==1) { $prido="index".$type; } else { $prido="index_".$pagepr.$type; } $prepage=''.$fun_r['pripage'].''; //上⼀页 } //下⼀页 if($page!=$totalpage) { $pagenex=$page+1; $nextpage=''.$fun_r['nextpage'].''; //下⼀页 $lastpage=''.$fun_r['lastpage'].''; //最后⼀页 } $starti=$page-$snum<1?1:$page-$snum; $no=0; for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++) //详细页码信息 { $no++; if($page==$i) { $is_1=""; //当前 $is_2=""; } elseif($i==1) { $is_1=''; //第⼀页 $is_2=""; } else { $is_1=''; //其他页 $is_2=""; } $returnstr.=$is_1.$i.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr; return $pager;}第三步:在你的列表页中写上分页就好了【[!--ge--]】=============================================================下⾯就来看看我最后的成果把我们在来看看代码结构
//上⼀页 if($page<>1) { $toppage=''.$fun_r['startpage'].''; //⾸页 $pagepr=$page-1; if($pagepr==1) { $prido="index".$type; } else { $prido="index_".$pagepr.$type; } $prepage=''.$fun_r['pripage'].''; //上⼀页 } //下⼀页 if($page!=$totalpage) { $pagenex=$page+1; $nextpage=''.$fun_r['nextpage'].''; //下⼀页 $lastpage=''.$fun_r['lastpage'].''; //最后⼀页 } $starti=$page-$snum<1?1:$page-$snum; $no=0; for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++) //详细页码信息 { $no++; if($page==$i) { $is_1=""; //当前 $is_2=""; } elseif($i==1) { $is_1=''; //第⼀页 $is_2=""; } else { $is_1=''; //其他页 $is_2=""; } $returnstr.=$is_1.$i.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr; return $pager;}第三步:在你的列表页中写上分页就好了【[!--ge--]】=============================================================下⾯就来看看我最后的成果把我们在来看看代码结构
本文标签:php分页
发布评论