自定义列表分页教程,学会了你就可以开发以下效果的功能了,一个列表页面可以同时出现多个页码。

还可以更深的了解帝国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--]