Wordpress主题下载

首页 > 帝国cms教程 > 帝国cms自定义函数userfun实现列表页和内容页分页

帝国cms自定义函数userfun实现列表页和内容页分页

摘要:对于帝国cms分页,可通过e-class-t_functions.php原系统文件进行直接修改,但这就面临一个问题,即后面升级的时候修改后的系统文件会被升级文件覆盖掉,但class下的userfun.php文件...

对于帝国cms分页,可通过e-class-t_functions.php原系统文件进行直接修改,但这就面临一个问题,即后面升级的时候修改后的系统文件会被升级文件覆盖掉,但class下的userfun.php文件不会,所以可以通过自定义函数实现列表页和内容页的分页,简单方便。

对于修改,首先要知道源文件的函数位置,函数位置如下所示:

列表页模板[!--show.page--]:分页导航(下拉式)  大概在10-98行;列表页模板[!--show.listpage--]:分页导航(列表式) 在101-169行;内容页模板(返回内容分页):分页导航 在172-228行;内容页模板(返回下拉式内容分页导航):标题式分页导航 在231-262行。

列表页两个,内容页两个,一般常用的分页是[!--show.listpage--]和内容页分页函数,下面以[!--show.listpage--]为例介绍自定义函数的列表分页的实现方法:

1、修改进入帝国cms后台,点击系统设置->系统参数设置->信息设置:里面有个"列表分页函数(列表)"选项,将里面的函数名修改为user_ShowListMorePage

2、复制修改后的t_function.php列表式分页函数代码到 e/class/userfun.php <?php与?>  之间,并修改函数名,7.5版本的整体修改后的代码如下:

//列表模板之列表式分页
function user_ShowListMorePage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search="",$add){
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">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
//上一页
if($page<>1)
{
$toppage='<a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a>&nbsp;';
$pagepr=$page-1;
if($pagepr==1)
{
$prido=$add['dofile'].$type;
}
else
{
$prido=$add['dofile'].'_'.$pagepr.$type;
}
$prepage='<a href="'.$dolink.$prido.'" class="disabled">'.$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.'" class="disabled">'.$fun_r['nextpage'].'</a>';
$lastpage='<a href="'.$lastpagelink.'" class="disabled">'.$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="<a class='cur'>";
$is_2="</a>";
}
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=$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr;
return $pager;
} 
?>

帝国cms7.5版本的可以直接复制上述代码到userfun.php中

2、添加css样式

.pageBox {text-align: center;}
.pageBox a {border:1px solid #ddd;display:inline-block;margin-right:6px;color: #707070;width:34px;height:34px;font:bold 14px/34px arial;}
.pageBox a:hover,.pageBox a:active{background:#3aa9f2;color: #FFFFFF;text-decoration: none;}
.pageBox .cur { background: #3aa9f2;border: 1px solid #3aa9f2;text-decoration: none;}
.pageBox a.cur {color: #fff;}
.pageBox .disabled {width: 79px;}

css代码都会添加,如果直接在html中就添加在<style></style>之间

3、数据更新-刷新所有信息栏目页

有人说那如何调用上述自定义函数呢,第一步已经算引入调用了好吧,然后[!--show.listpage--]还是一样的,这个步骤很简单,比修改源文件来的爽!!!

分享到:
赞(2) 打赏

作者: 大挖酱

挖主题团队自2014年开始专注于WordPress企业主题设计开发,致力于为更多用户打造出更漂亮、更易用、更专业的网站。距今已累计开发近50款WP主题,付费客户超过5千人。挖主题,是您可以长期信赖的合作伙伴。

付款后联系作者QQ 2243748

支付宝扫一扫

微信扫一扫