前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >thinkPHP5框架分页样式类完整示例

thinkPHP5框架分页样式类完整示例

作者头像
用户2323866
修改2021-07-13 11:35:43
4510
修改2021-07-13 11:35:43
举报
文章被收录于专栏:技术派

本文实例讲述了thinkPHP5分页样式类。分享给大家供大家参考,具体如下:

在配置文件中改路径

把这段代码放入extend文件下 可以在这个文件下创建个page文件

在分页的控制器方法中

->paginate(12,false,[ 'type'=> 'pagePage','var_page'=>'page']);

<?php

namespace page;

// +----------------------------------------------------------------------

// | ThinkPHP [ WE CAN DO IT JUST THINK ]

// +----------------------------------------------------------------------

// | Copyright (c) 2006~2017

All rights reserved.

// +----------------------------------------------------------------------

// | Licensed (

)

// +----------------------------------------------------------------------

// | Author: zhangyajun <448901948@qq.com>

// +----------------------------------------------------------------------

use thinkPaginator;

class Page extends Paginato

{

//首页

protected function home() {

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

return "<a href='" . $this->url(1) . "' title='首页'>首页</a>";

} else {

return "<p>首页</p>";

}

}

//上一页

protected function prev() {

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

return "<a href='" . $this-&gt;url($this->currentPage - 1) . "' title='上一页'>上一页</a>";

} else {

return "<p>上一页</p>";

}

}

//下一页

protected function next() {

if ($this->hasMore) {

return "<a href='" . $this-&gt;url($this->currentPage + 1) . "' title='下一页'>下一页</a>";

} else {

return"<p>下一页</p>";

}

}

//尾页

protected function last() {

if ($this->hasMore) {

return "<a href='" . $this-&gt;url($this->lastPage) . "' title='尾页'>尾页</a>";

} else {

return "<p>尾页</p>";

}

}

//统计信息

protected function info(){

return "<p class='pageRemark'>共<b>" . $this->lastPage .

"</b>页<b>" . $this->total . "</b>条数据</p>";

}

/**

protected function getLinks()

{

$block = [

'first' => null,

'slider' => null,

'last' => null

];

$side = 3;

$window = $side * 2;

if ($this-&gt;lastPage &lt; $window + 6) {

$block['first'] = $this->getUrlRange(1, $this->lastPage);

} elseif ($this-&gt;currentPage &lt;= $window) {

$block['first'] = $this->getUrlRange(1, $window + 2);

$block['last'] = $this->getUrlRange($this-&gt;lastPage - 1, $this->lastPage);

} elseif ($this-&gt;currentPage &gt; ($this->lastPage - $window)) {

$block['first'] = $this->getUrlRange(1, 2);

$block['last'] = $this->getUrlRange($this-&gt;lastPage - ($window + 2), $this->lastPage);

} else {

$block['first'] = $this->getUrlRange(1, 2);

$block['slider'] = $this->getUrlRange($this-&gt;currentPage - $side, $this-&gt;currentPage + $side);

$block['last'] = $this->getUrlRange($this-&gt;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;

}

/**

public function render()

{

if ($this->hasPages()) {

if ($this->simple) {

return sprintf(

'%s<div >%s %s %s</div>',

$this->css(),

$this->prev(),

$this->getLinks(),

$this->next()

);

} else {

return sprintf(

'%s<div >%s %s %s %s %s %s</div>',

$this->css(),

$this->home(),

$this->prev(),

$this->getLinks(),

$this->next(),

$this->last(),

$this->info()

);

}

}

}

/**

protected function getAvailablePageWrapper($url, $page)

{

return '<a href="' . htmlentities($url) . '"/**【当下浏览的服务器和开发工具是哪些】**/ rel="external nofollow" title="第"'. $page .'"页" >' . $page . '</a>';

}

/**

protected function getDisabledTextWrapper($text)

{

return '<p >' . $text . '</p>';

}

/**

protected function getActivePageWrapper($text)

{

return '<a href="" external nofollow" cur">' . $text . '</a>';

}

/**

protected function getDots()

{

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

}

/**

protected function getUrlLinks(array $urls)

{

$html = '';

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

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

}

ret/

/urn $html;

}

/**

protected function getPageLinkWrapper($url, $page)

{

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

return $this-&gt;getActivePageWrapper($page);

}

return $this-&gt;getAvailablePageWrapper($url, $page);

}

/**

protected function css(){

return ' <style type="text/css">

.pagination p{

margin:0;

cursor:pointe

}

.pagination{

height:40px;

padding:20px 0px;

}

.pagination a{

display:block;

float:left;

margin-right:10px;

padding:2px 12px;

border:1px #cccccc solid;

background:#fff;

text-decoration:none;

color:#808080;

font-size:12px;

line-height:24px;

}

.pagination a:hover{

color:#009688;

background: white;

border:1px #009688 solid;

}

.pagination a.cur{

border:none;

background:#009688;

color:#fff;

}

.pagination p{

float:left;

padding:2px 12px;

font-size:12px;

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>';

}

}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档