zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    AWS 监控服务(六)
    PB赋值粘贴
    oracle中的替换函数replace和translate函数
    instr函数
    The test form is only available for requests from the local machine
    ORACLE提交事务回滚
    PB开发境界 多个DW进行update
    plsql使用技巧
    pb 11 数据窗口空白,预览pb崩溃解决方案
    oracle函数
  • 原文地址:https://www.cnblogs.com/chengfengchi/p/10185642.html
Copyright © 2011-2022 走看看