一、核心原则:不要直接修改系统文件
系统原生分页函数存放在 /e/class/t_functions.php,直接修改会在程序升级时被覆盖。官方推荐方案:把原生函数复制到 /e/class/userfun.php(用户自定义函数文件,升级不覆盖),重命名后修改 HTML 结构,再在后台绑定新函数名。
二、分步操作教程
步骤 1:复制原生函数到自定义文件
打开系统函数文件:/e/class/t_functions.php
找到 sys_ShowListMorePage 完整函数(从 function 开头到结尾大括号),全选复制。
打开用户自定义函数文件:/e/class/userfun.php
在文件的 <?php 标签内粘贴代码,将函数名改为自定义名称,例如 user_ShowListMorePage。
步骤 2:自定义 HTML 结构与样式类名
在复制的函数中,你可以自由修改:分页容器标签、CSS 类名、上一页 / 下一页文字、是否显示首页 / 尾页、当前页高亮、总页数统计等。下面给出一个保留原生分页逻辑(页码省略、兼容动态 / 静态)、仅优化 HTML 结构的示例,方便你写 CSS 美化:
//列表模板之列表式分页
function user_ShowListMorePage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search="",$add=null){
global $fun_r,$public_r;
if($num<=$line)
{
$pager['showpage']='';
return $pager;
}
//文件名
if(empty($add['dofile']))
{
$add['dofile']='index';
}
//静态页数
$repagenum=$add['repagenum'];
$page_line=$public_r['listpagelistnum'];
$snum=2;
//$totalpage=ceil($num/$line);//取得总页数
$firststr='<a title="Total record"> <b>'.$num.'</b> </a> ';
//上一页
if($page<>1)
{
$toppage='<a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a> ';
$pagepr=$page-1;
if($pagepr==1)
{
$prido=$add['dofile'].$type;
}
else
{
$prido=$add['dofile'].'_'.$pagepr.$type;
}
$prepage='<a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a>';
}
//下一页
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=' <a href="'.$nextpagelink.'">'.$fun_r['nextpage'].'</a>';
$lastpage=' <a href="'.$lastpagelink.'">'.$fun_r['lastpage'].'</a>';
}
$starti=$page-$snum<1?1:$page-$snum;
$no=0;
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 href="'.$dolink.$add['dofile'].$type.'">';
$is_2="</a>";
}
else
{
$thispagelink=$repagenum&&$repagenum<$i?eReturnRewritePageLink2($add,$i):$dolink.$add['dofile'].'_'.$i.$type;
$is_1='<a href="'.$thispagelink.'">';
$is_2="</a>";
}
$returnstr.=' '.$is_1.$i.$is_2;
}
$returnstr=$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr;
return $pager;
}步骤 3:后台绑定自定义分页函数
进入后台 → 系统 → 系统设置 → 系统参数设置 → 信息设置

找到「列表分页函数 (列表)」,把默认的 sys_ShowListMorePage 替换为你的自定义函数名 user_ShowListMorePage
保存设置后,进入 系统 → 数据更新 → 清除全站缓存 生效。
步骤 4:模板中调用分页
在列表模板里,直接输出分页变量即可:
[!--show.listpage--]
你截图里「模板支持程序代码」已经是开启状态,无需额外设置。
步骤 5:写 CSS 美化样式
给上面的自定义类名添加样式,示例:
.page-box {
display: flex;
gap: 8px;
align-items: center;
justify-content: center;
margin: 30px 0;
flex-wrap: wrap;
}
.page-btn, .page-num {
padding: 6px 12px;
border: 1px solid #e5e7eb;
border-radius: 4px;
color: #333;
text-decoration: none;
font-size: 14px;
transition: all 0.2s;
}
.page-num.active {
background: #165DFF;
color: #fff;
border-color: #165DFF;
}
.page-btn:hover, .page-num:hover {
border-color: #165DFF;
color: #165DFF;
}
.page-info {
color: #999;
font-size: 13px;
margin-left: 10px;
}