当前位置: 首页 > news >正文

网站建设设计目的昆山做网站的kamese

网站建设设计目的,昆山做网站的kamese,网站开发要什么流程,网站 必须有的功能前言#xff1a;说明下我们本篇文章都要讲哪些内容分页的使用#xff0c;一步一步的教你怎么做分页类LinkPager和Pagination都可以自定义哪些属性分页类LinkPager如何扩展成我们所需要的第一步#xff0c;我们来看看yii2自带的分页类该如何去使用#xff1f;1、controller …前言说明下我们本篇文章都要讲哪些内容分页的使用一步一步的教你怎么做分页类LinkPager和Pagination都可以自定义哪些属性分页类LinkPager如何扩展成我们所需要的第一步我们来看看yii2自带的分页类该如何去使用1、controller actionuse yii\data\Pagination;$query Article::find()-where([status 1]);$countQuery clone $query;$pages new Pagination([totalCount $countQuery-count()]);$models $query-offset($pages-offset)-limit($pages-limit)-all();return $this-render(index, [models $models,pages $pages,]);2、Viewuse yii\widgets\LinkPager;//循环展示数据foreach ($models as $model) {// ......}//显示分页页码echo LinkPager::widget([pagination $pages,])代码基本上可以完全拷贝修改部分数据即可相信大多数人都是看得懂的。我们接下来看第二步自带的分页类都可以定义哪些属性首先我们说说LinkPager组件.pagination参数必填这个是我们Pagination类的实例默认分页类是下面这个样子的.上下页按钮以及10个按钮首先我们把上下页的按钮修改成中文 LinkPager::widget([pagination $pages,nextPageLabel 下一页,prevPageLabel 上一页,]); ?如果你不想要显示上下页可以将prevPageLabel和nextPageLabel设置为false LinkPager::widget([pagination $pages,nextPageLabel false,prevPageLabel false,]); ?默认不显示首页也尾页如果你需要可以这样设置 LinkPager::widget([pagination $pages,firstPageLabel 首页,lastPageLabel 尾页,]); ?如果你的数据过少不够2页默认不显示分页如果你需要设置hideOnSinglePagefalse即可 LinkPager::widget([pagination $pages,hideOnSinglePage false,]); ?默认显示的页码为10页可以设置maxButtonCount为你想要展示的页数 LinkPager::widget([pagination $pages,maxButtonCount 5,]); ?有些人不喜欢默认的样式想要分页带上自己的样式可以设置options不要忘了自行实现pre,next,disabled等样式 LinkPager::widget([pagination $pages,options [class m-pagination],]); ?接下来我们谈谈Pagination组件默认的分页路由是下面这样子的我们看看能做点什么/controller/action?page2per-page20首先我们是必须要指定总条数totalCount的没这个参数分页也是没办法实现的$pages new Pagination([totalCount $totalCount,]);默认分页的数量是20你可以设置pageSize为你想要的$pages new Pagination([totalCount $totalCount,pageSize 5,]);从上面的分页路由我们可以看到默认带的有每页的数量per-page 如果你不想显示该参数设置pageSizeParamfalse就好$pages new Pagination([totalCount $totalCount,pageSizeParam false,]);我们也可以看到默认的页面取决于参数page,如果你想改变该参数为p,设置pageParamp就好$pages new Pagination([totalCount $totalCount,pageParam p,]);如果你的分页存在于首页相信你肯定想要/?p1而不是/site/index?p1我们看看怎么隐藏掉路由$pages new Pagination([totalCount $totalCount,route false,]);可能你会发现分页类Pagination有一个bug,假如我们只有1页的数据但是手动更改地址栏的page20的时候也会显示page1的数据当然这在大部分接口API中就很让人厌烦。但是这并非bug,而是一种友好的验证。设置validatePagefalse即可避免掉该问题$pages new Pagination([totalCount $totalCount,validatePage false, ]);最后我们整点新花样扩展下他这个自带的分页别一看见扩展俩字下面的就直接不看了只有自己学会扩展了以后才能越来越强怎么个扩展法呢我们把分页组件改为上下页那种具体参考下图做个对比吧接下来我们就来看看右侧的效果具体是如何通过扩展LinkPager组件实现的。源码分享给大家喜欢的拿去自己研究即可。namespace frontend\components;use yii\widgets\LinkPager;use yii\helpers\Html;class MLinkPager extends LinkPager{public $prevPageLabel ;public $nextPageLabel ;public $currentCountPageLabel 第 {currentPage} 页 / 共 {countPage} 页;public $currentCountPageClass page-number;public $hideOnSinglePage false;public function init () {parent::init();}public function run () {$pageCount $this-pagination-getPageCount();if ($pageCount 2 $this-hideOnSinglePage) {return ;}$buttons [];$currentPage $this-pagination-getPage();// prev pageif ($this-prevPageLabel ! false) {if (($page $currentPage - 1) 0) {$page 0;}$buttons[] $this-renderPageButton($this-prevPageLabel, $page, $this-prevPageCssClass, $currentPage 0, false);}// current page / count pageif ($this-currentCountPageLabel ! false $pageCount) {$currentCountPageLabel str_replace([{currentPage}, {countPage}], [$currentPage1, $pageCount], $this-currentCountPageLabel);$buttons[] Html::tag(span, $currentCountPageLabel, array(class $this-currentCountPageClass));}// next pageif ($this-nextPageLabel ! false) {if (($page $currentPage 1) $pageCount - 1) {$page $pageCount - 1;}$buttons[] $this-renderPageButton($this-nextPageLabel, $page, $this-nextPageCssClass, $currentPage $pageCount - 1, false);}return Html::tag(nav, implode(\n, $buttons), $this-options);}protected function renderPageButton($label, $page, $class, $disabled, $active){$options [class empty($class) ? $this-pageCssClass : $class];if ($active) {Html::addCssClass($options, $this-activePageCssClass);}if ($disabled) {return false;}$linkOptions $this-linkOptions;$linkOptions $options;$linkOptions[data-page] $page;return Html::a($label, $this-pagination-createUrl($page), $linkOptions);}}如此一来我们调用MLinkPager实现分页效果像下面这样即可use frontend\components\MLinkPager; MLinkPager::widget([pagination $pages,]); ?当然自己扩展的分页组建重在教大家如何去实现分页扩展难免会有很多问题如果你有好的意见或者方法直接给我留言咱们共同沟通交流。
http://www.yutouwan.com/news/179730/

相关文章:

  • 管理咨询网站长沙网站开发培训
  • 南京建站公司wordpress theme是什么
  • 网站名称注册wordpress登陆美化
  • 建立一个网站的前期资金网络推广培训方案
  • 品牌宝网站认证贵州网推传媒有限公司
  • 墙内千兆网站怎么做南宁伯才网络公司做网站好吗
  • 网站seo分析多人在线协作网站开发
  • 高校网站建设资料库东莞做网站哪个公司好
  • 画流程图的网站html页面布局
  • 网站公告建设方案全球仅剩1个国家未发现新冠
  • 蒙自做网站的公司建设银行郑州市自贸区分行网站
  • 大连微网站制作直播开发
  • 朵朵软件网站建设网站开发制作价格
  • 电商网站建设 平台沧州企业网站制作的
  • 交友视频网站建设优质的网站
  • 个人网站备案后做游戏12306网站谁做的
  • 合肥网站建设推荐 晨飞网络知乎关键词排名优化工具
  • 网站建设的流程晋城建设路网站
  • 荥阳网站优化公司唐山做网站优化公司
  • 医生工作室网站建设基木鱼建站
  • 怎么用自己的电脑做网站空间网站建设与维护可行性报告
  • 自己做网站需要哪些软件网站建设印花税
  • 安卓开发简单网站开发代码下载p2p网站开发价格
  • 公司做网站推广国内互联网推广
  • wordpress 知乎wordpress排序优化
  • 坪山网站建设资讯网站ps照片怎么做
  • thinkphp5做网站陕西荣天建设网站
  • 贵阳网站设计公司价格网站关键词之间用什么符号隔开
  • 厦门做网站企业织梦做的网站怎么上传视频
  • 淘宝客怎么样做网站wordpress菜单联动