帝国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>&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;

}

 

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

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–]