精准像素今天抽空分享一篇帝国cms二次开发高级教程 - 自定义列表分页教程,学会了你就可以开发以下效果的功能了,一个列表页面可以同时出现多个页码。还可以更深的了解帝国CMS自定义函数的使用方法。
教程方法精准像素帮你们简化了,只需三步。
1、第一步,去userfun.php添加一个自定义页码函数
function sys_underShowListPage($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; //$totalpage=ceil($num/$line);//取得总页数 $firststr='<span>共<strong>'.$totalpage.'</strong>页</span> '; //首页 //上一页 if($page<>1) { $toppage='<a href="'.$dolink.'index'.$type.'#best" title="首页">首页</a>'; $pagepr=$page-1; if($pagepr==1) { $prido="index".$type; } else { $prido="index_".$pagepr.$type; } $prepage=''; } else $prepage=''; //下一页 if($page!=$totalpage) { $pagenex=$page+1; $nextpage=''; $lastpage='<a href="'.$dolink.'index_'.$totalpage.$type.'#best" title="尾页">尾页</a>'; } else { $pagenex=$page+1; $nextpage=''; $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='<span>['; $is_2=']</span>'; } elseif($i==1) { $is_1='<a href="'.$dolink.'index'.$type.'#best">['; $is_2="]</a>"; } else { $is_1='<a href="'.$dolink.'index_'.$i.$type.'#best">['; $is_2="]</a>"; } $returnstr.=$is_1.$i.$is_2; } $returnstr=$firststr.$toppage.$returnstr.$lastpage; $pager['showpage']=$returnstr; return $pager; }
格式自己修改,函数命名自行改。
2、第二步,在functions.php内搜索第2个“//取得分页参数”的
$list2=str_replace($bereplistpage,$showpage,$list_r[2]);
下方加上这段
$undershowlistpage=sys_underShowListPage($num,$pagenum,$dolink,$dotype,$page,$lencord,$ok,$myoptions); $undershowpage=$undershowlistpage['showpage'];
继续在下方的“//替换分页数”的
$ordertemp='<span class="orderNav"><em>排序:</em> <a href="index.html#best" title="添加时间" class="on">添加时间</a> | <a href="update.html#best" title="更新时间">更新时间</a> | <a href="view.html#best" title="点击次数">点击次数</a></span>';
下方加上这段。
$string=str_replace('[!--undershow.listpage--]',$undershowpage,$string);
3、最后一步,在需要显示自定义页码的地方加上
[!--undershow.listpage--]