您现在的位置是:自如初>ThinkPHPThinkPHP

ThinkPHP6+Layui自定义分页样式

温新 2021-01-06 22:34:46 ThinkPHP 2860人已围观

简介ThinkPHP6+Layui自定义分页样式。​有些时候框架自带的分页并不能满足项目的需求,这时自定义分页样式就是首选了。此篇文章记录ThinkPHP6+Layui自定义分页样式的基础使用。

有些时候框架自带的分页并不能满足项目的需求,这时自定义分页样式就是首选了。此篇文章记录ThinkPHP6+Layui自定义分页样式的基础使用。

关于layui分页样式,自己到layui官方文档寻找自己喜欢的样式。

第一步:复制ThinkPHP6分页代码

找到ThinkPHP6分页代码到所需要的位置,

// ThinkPHP6分页代码位置
// vendor\topthink\think-orm\src\paginator\driver\Bootstrap.php

复制到Bootstrap.php到所需要的位置并修改文件名。我这里复制到了app\admin\CustomPaginate.php

第二步:修改自定义分页CustomPaginate.php

// app\admin\CustomPaginate.php

// 修改一:修改命名空间
namespace app\admin;

// 修改二:修改渲染分页html
/**
* 渲染分页html
* @return mixed
*/
public function render()
{
   if ($this->hasPages()) {
       if ($this->simple) {
           return sprintf(
               '<div class="layui-box layui-laypage layui-laypage-molv" id="layui-laypage-3">%s %s</div>',
               $this->getPreviousButton(),
               $this->getNextButton()
           );
       } else {
           return sprintf(
               '<div class="layui-box layui-laypage layui-laypage-molv" id="layui-laypage-3">%s %s %s</div>',
               $this->getPreviousButton(),
               $this->getLinks(),
               $this->getNextButton()
           );
       }
   }
}

// 修改三:生成一个可点击的按钮
protected function getAvailablePageWrapper(string $url, string $page): string
{
   return '<a href="' . htmlentities($url) . '">' . $page . '</a>';
}

// 修改四:生成一个禁用的按钮
protected function getDisabledTextWrapper(string $text): string
{
   return '<a class="layui-laypage-prev layui-disabled">' . $text . '</a>';
}

// 修改五:生成一个激活的按钮
protected function getActivePageWrapper(string $text): string
{
   return '<span><em style="background-color:#1E9FFF;"></em><em>' . $text . '</em></span>';
}

第三步:注册自定义分页

app\provide.php文件中注册自定义分页。注册自定义分页后即是使用自定义分页。

// app\provide.php
<?php
use app\ExceptionHandle;
use app\Request;

// 容器Provider定义文件
return [
   // ... 省略其他
   'think\Paginator'   => app\admin\CustomPaginate::class
];

经过这三个步骤后,自定义分页就完成了。

第四步:静态模板中使用分页

<div>
{$lists|raw}
</div>

至此:自定义分页与使用完成。


我是小白,期待和优秀的你一起同行!


  小白

  2021年01月06日

很赞哦!(20)

文章评论

登录 注册

自如初--时间轴

QQ登录

站名:自如初

独白:向前走!向前走!

邮箱:ziruchu@qq.com

站点信息