朱纯树博客
VPS测评推荐网站
cloudacead cloudacead

TP5单独模块的分页样式配置修改

TP5在样式不兼容的情况下默认的样式是bootstrap
那么比如我后台是正常有样式的,前台样式不兼容这种情况,又不能去改application>config.PHP
因为application>config.php是全局的,改完之后后台的样式也变了, 那么就涉及到单独模块的分页样式修改.

第一步:

thinkphp>library>think>paginator>driver 目录下新建 MyPage.php
写入如下自定义分页类代码:


// +----------------------------------------------------------------------
use thinkPaginator;

class MyPage extends Paginator
{
    //首页
    protected function home() {
        if ($this->currentPage() > 1) {
            return "首页";
        } else {
            return "

首页

"; } } //上一页 protected function prev() { if ($this->currentPage() > 1) { return "上一页"; } else { return "

上一页

"; } } //下一页 protected function next() { if ($this->hasMore) { return "下一页"; } else { return"

下一页

"; } } //尾页 protected function last() { if ($this->hasMore) { return "尾页"; } else { return "

尾页

"; } } //统计信息 protected function info(){ return "

" . $this->lastPage . "" . $this->total . "条数据

"; } /** * 页码按钮 * @return string */ protected function getLinks() { $block = [ 'first' => null, 'slider' => null, 'last' => null ]; $side = 3; $window = $side * 2; if ($this->lastPage getUrlRange(1, $this->lastPage); } elseif ($this->currentPage 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( '%s', $this->css(), $this->prev(), $this->getLinks(), $this->next() ); } else { return sprintf( '%s', $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 '' . $page . ''; } /** * 生成一个禁用的按钮 * * @param string $text * @return string */ protected function getDisabledTextWrapper($text) { return '

' . $text . '

'; } /** * 生成一个激活的按钮 * * @param string $text * @return string */ protected function getActivePageWrapper($text) { return '' . $text . ''; } /** * 生成省略号按钮 * * @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 ' '; } }

第二步:

保存后, 比如我要修改index模块的分页样式
就在 application>index 目录下新建名为 Config.php 的模块单独配置文件
并写入如下代码:

 [ 
	    'type'   => 'MyPage',//刚才创建的分页类 
	    'var_page' => 'page', 
	    'list_rows' => 15, 
  	]
];

至此,就完成了单模块自定义分页样式.

上面分页类样式的截图如下:
TP5单独模块的分页样式配置修改插图

-End-

文章来源于互联网:TP5单独模块的分页样式配置修改

赞(0) 打赏
未经允许不得转载:VPS测评推荐网站 - 朱纯树博客 » TP5单独模块的分页样式配置修改

评论 63

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #75

    I really like your blog.. very nice colors & theme. Did you make this website yourself or
    did you hire someone to do it for you? Plz answer back as I’m
    looking to design my own blog and would like to know where
    u got this from. thank you

  2. #74

    Hey are using Wordpress for your site platform? I’m new to the blog world but I’m trying to get started and create my own. Do you need any html coding expertise to make your own blog?

    Any help would be greatly appreciated!

  3. #73

    Pretty component of content. I simply stumbled upon your website and in accession capital to assert that I acquire in fact enjoyed account your
    weblog posts. Any way I’ll be subscribing on your feeds
    and even I achievement you get right of entry to constantly fast.

    tinyurl.com1周前 (08-03)回复