自定义列表分页教程,学会了你就可以开发以下效果的功能了,一个列表页面可以同时出现多个页码。
还可以更深的了解帝国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–]