• tp5 设置layui分页


    hinkphplibrary hinkpaginatordriver

    添加 Layui.php

    <?php

    namespace thinkpaginatordriver;

    use thinkPaginator;

    class Layui extends Paginator

    {

    /**

    * 上一页按钮

    * @param string $text

    * @return string

    */

    protected function getPreviousButton($text = "上一页")

    {

    if ($this->currentPage() <= 1) {

    return $this->getDisabledTextWrapper($text);

    }

    $url = $this->url(

    $this->currentPage() - 1

    );

    return $this->getPageLinkWrapper($url, $text);

    }

    /**

    * 下一页按钮

    * @param string $text

    * @return string

    */

    protected function getNextButton($text = '下一页')

    {

    if (!$this->hasMore) {

    return $this->getDisabledTextWrapper($text);

    }

    $url = $this->url($this->currentPage() + 1);

    return $this->getPageLinkWrapper($url, $text);

    }

    /**

    * 页码按钮

    * @return string

    */

    protected function getLinks()

    {

    if ($this->simple)

    return '';

    $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

    * @return mixed

    */

    public function render()

    {

    if ($this->hasPages()) {

    if ($this->simple) {

    return sprintf(

    '<ul class="pager">%s %s</ul>',

    $this->getPreviousButton(),

    $this->getNextButton()

    );

    } else {

    return sprintf(

    '%s %s %s',

    $this->getPreviousButton(),

    $this->getLinks(),

    $this->getNextButton()

    );

    }

    }

    }

    /**

    * 生成一个可点击的按钮

    *

    * @param string $url

    * @param int $page

    * @return string

    */

    protected function getAvailablePageWrapper($url, $page)

    {

    return '<a href="' . htmlentities($url) . '">' . $page . '</a>';

    }

    /**

    * 生成一个禁用的按钮

    *

    * @param string $text

    * @return string

    */

    protected function getDisabledTextWrapper($text)

    {

    return '<a class="layui-laypage-prev" >' . $text . '</a>';

    }

    /**

    * 生成一个激活的按钮

    *

    * @param string $text

    * @return string

    */

    protected function getActivePageWrapper($text)

    {

    return '<span class="layui-laypage-curr"><em class="layui-laypage-em"></em><em>' . $text . '</em></span>';

    }

    /**

    * 生成省略号按钮

    *

    * @return string

    */

    protected function getDots()

    {

    return $this->getDisabledTextWrapper('...');

    }

    /**

    * 批量生成页码按钮.

    *

    * @param array $urls

    * @return string

    */

    protected function getUrlLinks(array $urls)

    {

    $html = '';

    foreach ($urls as $page => $url) {

    $html .= $this->getPageLinkWrapper($url, $page);

    }

    return $html;

    }

    /**

    * 生成普通页码按钮

    *

    * @param string $url

    * @param int $page

    * @return string

    */

    protected function getPageLinkWrapper($url, $page)

    {

    if ($page == $this->currentPage()) {

    return $this->getActivePageWrapper($page);

    }

    return $this->getAvailablePageWrapper($url, $page);

    }

    }

    视图

    <div class="layui-box layui-laypage layui-laypage-default">{$page}</div>

  • 相关阅读:
    CUDA 纹理内存
    CUDA三维数组
    cutil.h问题
    GPU和CPU耗时统计方法
    NVIDIA CUDA Library Documentation
    device not ready cuda
    送给女朋友的礼物
    手机屏幕录制软件分享
    统计函数运行时间-CPU端
    二十四孝,图文并茂,古今必读!
  • 原文地址:https://www.cnblogs.com/chengfengchi/p/10185642.html
Copyright © 2020-2023  润新知