首页 > 作文

TP5框架实现自定义分页样式的方法示例

更新时间:2023-04-08 19:29:33 阅读: 评论:0

本文实例讲述了tp5框架实现自定义分页样式的方法。分享给大家供大家参考,具体如下:

1. 在extend\目录下创建page目录,在page目录下创建page.php文件,将以下代码放入文件中。

<?phpnamespace page;u think\paginator;class page extends paginator{   //首页  protected function home() {    if ($this->currentpage() > 1) {      return "<a href='" . $this->url(1) . "' title='首页'>首页</a>";    } el {      return "<p>首页</p>";    }  }   //上一页  protected function prev() {    if ($this->currentpage() > 1) {      return "<a href='" . $this->url($this->currentpage - 1) . "' title='上一页'>上一页</a>";    } el {      return "<p>上一页</p>";    }  }   //下一页  protected function next() {    if ($this->hasmore) {      return "<a href='" . $this->url($this->currentpage + 1) . "' title='下一页'>下一页</a>";    } el {      return"<p>下一页</p>";    }  }   //尾页  protected function last() {    if ($this->hasmore) {      return "<a href='" . $this->url($this->lastpage) . "' title='尾页'>尾页</a>";    } el {      return "<p>尾页</p>";    }  }   //统计信息  protected function info(){    return "<p class='pageremark'>共<b>" . $this->lastpage .      "</b>页<b>" . $this->total . "</b>条数据</p>";  }   /**   * 页码按钮   * @return string   */  protected function getlinks()  {     $block = [      'first' => null,      'slider' => null,      'last'  => null    ];     $side  = 3;    $window = $side * 2;     if ($this->lastpage < $window + 6) {      $block['first'] = $this->geturlrange(1, $this->lastpage);    } elif ($this->currentpage <= $window) {      $block['first'] = $this->geturlrange(1, $window + 2);      $block['last'] = $this->geturlrange($this->lastpage - 1, $this->lastpage);    } elif ($this->currentpage > ($this->lastpage - $window)) {      $block['first'] = $this->geturlrange(1, 2);      $block['last'] = $this->geturlrange($this->lastpage - ($window + 2), $this->lastpage);    } el {      $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(          '%s<div class="pagination">%s %s %s</div>',          $this->css(),          $this->prev(),          $this->拍案叫绝造句;getlinks(),          $this->next()        );      } el {        return sprintf(          '%s<div class="pagination">%s %s %s %s %s %s</div>',          $this->css(),          $this->home(),          $this->prev(),          $this->getlinks(),          $this->next(),          $this->last(),          $this->info()        );      }    }  }   /**   * 生成一个可点击的按钮   *   * @param string $url   * @param int  $page   * @return string   */  protected function getavailablepagewrapper($url, $page)  {    return '<a href="' . htmlentities($url) . '" rel="external nofollow" title="第"'. $page .'"页" >' . $page . '</a>';  }   /**   * 生成一个禁用的按钮   *   * @param string $text   * @return string   */  protected function getdisabledtetan导数xtwrapper($text)  {    return '<p class="pageellipsis">' . $text . '</p>';  }   /**   * 生成一个激活的按钮   *   * @param string $text   * @return string   */  protected function getactivepagewrapper($text)  {    return '<a href="" class=" rel="external nofollow" cur">' . $text . '</a>';  }   /**   * 生成省略号按钮   *   * @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);  }   /**   * 分页样式   */  protected function css(){    return ' <style type="text/css">      .pagination p{        margin:关于交通安全的手抄报0;        cursor:pointer      }      .pagination{        height:40px;        padding:20px 0px;      }      .pagination a{        display:block;        float:left;        margin-right:10px;        padding:2px 12px;        height:24px;        border:1px #cccccc solid;        background:#fff;        text-decoration:none;        color:#808080;        font-size:12px;        line-height:24px;      }      .pagination a:hover{        color:#077ee3;        background: white;        border:1px #077ee3 solid;      }      .pagination a.cur{        border:none; 养老服务体系       background:#077ee3;        color:#fff;      }      .pagination p{        float:left;        padding:2px 12px;        font-size:12px;        height:24px;        line-height:24px;        color:#bbb;        border:1px #ccc solid;        background:#fcfcfc;        margin-right:8px;      }      .pagination p.pageremark{        border-style:none;        background:none;        margin-right:0px;        padding:4px 0px;        color:#666;      }      .pagination p.pageremark b{        color:red;      }      .pagination p.pageellipsis{        border-style:none;        background:none;        padding:4px 0px;        color:#808080;      }      .dates li {font-size: 14px;margin:20px 0}      .dates li span{float:right}    </style>';  }}

2. 修改 application\config.php 中的配置文件即可

//分页配置   'paginate'        => [     'type'   => 'page\page',//分页类     'var_page' => 'page',     'list_rows' => 15,   ],

3. 分页样式为

本文发布于:2023-04-08 19:29:31,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/9c21bde43099af933465ed4acf8b8fb3.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:TP5框架实现自定义分页样式的方法示例.doc

本文 PDF 下载地址:TP5框架实现自定义分页样式的方法示例.pdf

标签:分页   按钮   下一页   上一页
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图