# 帝国CMS二次开发自定义列表分页教程

*Published:* 2023-11-14
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年11月14日，已超过 180天没有更新



一个列表页面可以同时出现多个页码。还可以更深的了解帝国CMS自定义[函数](https://www.xarjtc.com/tag/%e5%87%bd%e6%95%b0 "查看函数此标签更多文章")的使用方法。

[![](https://www.xarjtc.com/wp-content/uploads/2023/11/1620483511111017.jpg)](https://www.xarjtc.com/wp-content/uploads/2023/11/1620483511111017.jpg)

第一步，去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>&nbsp;';
 //首页
//上一页
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;
}
```

格式自己修改，函数命名自行改。

第二步，在functions.php内搜索第2个“//取得[分页](https://www.xarjtc.com/tag/%e5%88%86%e9%a1%b5 "查看分页此标签更多文章")参数”的

```
$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);
```

最后一步，在需要显示自定义页码的地方加上。

```
[!--undershow.listpage--]
```