thinkPHP5框架分页样式类完整示例
本文实例讲述了thinkPHP5分页样式类。分享给大家供大家参考,具体如下:
在配置文件中改路径
把这段代码放入extend文件下可以在这个文件下创建个page文件
在分页的控制器方法中
->paginate(12,false,['type'=>'page\Page','var_page'=>'page']);
//+----------------------------------------------------------------------
usethink\Paginator;
classPageextendsPaginator
{
//首页
protectedfunctionhome(){
if($this->currentPage()>1){
return"url(1)."'title='首页'>首页";
}else{
return"首页
";
}
}
//上一页
protectedfunctionprev(){
if($this->currentPage()>1){
return"url($this->currentPage-1)."'title='上一页'>上一页";
}else{
return"上一页
";
}
}
//下一页
protectedfunctionnext(){
if($this->hasMore){
return"url($this->currentPage+1)."'title='下一页'>下一页";
}else{
return"下一页
";
}
}
//尾页
protectedfunctionlast(){
if($this->hasMore){
return"url($this->lastPage)."'title='尾页'>尾页";
}else{
return"尾页
";
}
}
//统计信息
protectedfunctioninfo(){
return"共".$this->lastPage.
"页".$this->total."条数据";
}
/**
*页码按钮
*@returnstring
*/
protectedfunctiongetLinks()
{
$block=[
'first'=>null,
'slider'=>null,
'last'=>null
];
$side=3;
$window=$side*2;
if($this->lastPage<$window+6){
$block['first']=$this->getUrlRange(1,$this->lastPage);
}elseif($this->currentPage<=$window){
$block['first']=$this->getUrlRange(1,$window+2);
$block['last']=$this->getUrlRange($this->lastPage-1,$this->lastPage);
}elseif($this->currentPage>($this->lastPage-$window)){
$block['first']=$this->getUrlRange(1,2);
$block['last']=$this->getUrlRange($this->lastPage-($window+2),$this->lastPage);
}else{
$block['first']=$this->getUrlRange(1,2);
$block['slider']=$this->getUrlRange($this->currentPage-$side,$this->currentPage+$side);
$block['last']=$this->getUrlRange($this->lastPage-1,$this->lastPage);
}
$html='';
if(is_array($block['first'])){
$html.=$this->getUrlLinks($block['first']);
}
if(is_array($block['slider'])){
$html.=$this->getDots();
$html.=$this->getUrlLinks($block['slider']);
}
if(is_array($block['last'])){
$html.=$this->getDots();
$html.=$this->getUrlLinks($block['last']);
}
return$html;
}
/**
*渲染分页html
*@returnmixed
*/
publicfunctionrender()
{
if($this->hasPages()){
if($this->simple){
returnsprintf(
'%s%s%s%s 更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。