yii2分页之实现跳转到具体某页的实例代码_.docx

上传人:啊飒飒 文档编号:11652348 上传时间:2021-08-28 格式:DOCX 页数:7 大小:13.24KB
返回 下载 相关 举报
yii2分页之实现跳转到具体某页的实例代码_.docx_第1页
第1页 / 共7页
yii2分页之实现跳转到具体某页的实例代码_.docx_第2页
第2页 / 共7页
yii2分页之实现跳转到具体某页的实例代码_.docx_第3页
第3页 / 共7页
yii2分页之实现跳转到具体某页的实例代码_.docx_第4页
第4页 / 共7页
yii2分页之实现跳转到具体某页的实例代码_.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《yii2分页之实现跳转到具体某页的实例代码_.docx》由会员分享,可在线阅读,更多相关《yii2分页之实现跳转到具体某页的实例代码_.docx(7页珍藏版)》请在三一文库上搜索。

1、yii2分页之实现跳转到具体某页的实例代码_ 先上图看效果,大家感觉还错请参考功能怎么实现的! 从上图中不难看出,我们制定跳转到某页的功能是基于linkpager之上的扩展,这根我们之前实现的分页扩展明显不同,之前的明显就是重写了!当然,这都不重要,我们看看GoLinkPager的具体实现!名字起的有点lower,不重要! 1、在frontendcomponents名目新建GoLinkPager类文件 2、该类继承yiiwidgetsLinkPager;,如下: namespace frontendcomponents; use yiiwidgetsLinkPager; use yiihelp

2、ersHtml; class GoLinkPager extends LinkPager 3、添加属性public $go = false; /是否包含跳转功能跳转 默认false 4、重写父类linkPager的renderPageButtons方法,具体挺直参考下面完整版代码,可主要看go部分的代码实现。 ?php namespace frontendcomponents; use yiiwidgetsLinkPager; use yiihelpersHtml; class GoLinkPager extends LinkPager / 是否包含跳转功能跳转 默认false public

3、$go = false; protected function renderPageButtons() $pageCount = $this-pagination-getPageCount(); if ($pageCount 2 $this-hideOnSinglePage) return ; $buttons = ; $currentPage = $this-pagination-getPage(); / first page $firstPageLabel = $this-firstPageLabel = true ? 1 : $this-firstPageLabel; if ($firs

4、tPageLabel != false) $buttons = $this-renderPageButton($firstPageLabel, 0, $this-firstPageCssClass, $currentPage = 0, false); / prev page if ($this-prevPageLabel != false) if ($page = $currentPage - 1) 0) $page = 0; $buttons = $this-renderPageButton($this-prevPageLabel, $page, $this-prevPageCssClass

5、, $currentPage = 0, false); / internal pages list($beginPage, $endPage) = $this-getPageRange(); for ($i = $beginPage; $i = $endPage; +$i) $buttons = $this-renderPageButton($i + 1, $i, null, false, $i = $currentPage); / next page if ($this-nextPageLabel != false) if ($page = $currentPage + 1) = $page

6、Count - 1) $page = $pageCount - 1; $buttons = $this-renderPageButton($this-nextPageLabel, $page, $this-nextPageCssClass, $currentPage = $pageCount - 1, false); / last page $lastPageLabel = $this-lastPageLabel = true ? $pageCount : $this-lastPageLabel; if ($lastPageLabel != false) $buttons = $this-re

7、nderPageButton($lastPageLabel, $pageCount - 1, $this-lastPageCssClass, $currentPage = $pageCount - 1, false); / go if ($this-go) $goPage = $currentPage + 2; $goHtml = goHtml div class=form style=float: left; color: #999; margin-left: 10px; font-size: 12px; span class=text共 $pageCount 页/span span cla

8、ss=text到第/span input class=input type=number value=$goPage min=1 max=$pageCount aria-label=页码输入框 style=text-align: center; height: 25px; line-height: 20px; margin-top: 5px; width: 46px; span class=text页/span span class=btn go-page role=button tabindex=0 style=border: solid 1px #ccc; padding: 0px; he

9、ight: 25px; width: 46px; line-height: 25px;确定/span /div goHtml; $buttons = $goHtml; $pageLink = $this-pagination-createUrl(false); $goJs = goJs $(.go-page).on(click, function () var _this = $(this), _pageInput = _this.siblings(input), goPage = _pageInput.val(), pageLink = $pageLink; pageLink = pageL

10、ink.replace(page=1, page=+goPage); if (goPage = 1 goPage = $pageCount) window.location.href=pageLink; else _pageInput.focus(); ); goJs; $this-view-registerJs($goJs); return Html:tag(ul, implode(n, $buttons), $this-options); 下面看具体用法: ?= GoLinkPager:widget( pagination = $pages, go = true, ); ? 可以看出,用法起来也是贼便利贼便利的!加一个属性go为true即可。 需要说明的是,完整版代码中go部分html js可依据自己需要自行修改整理! 以上内容是我给大家介绍的yii2分页之实现跳转到具体某页的实例代码,盼望对大家有所关心! .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1