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

源码搭建网站流程厦门seo关键词优化运营

源码搭建网站流程,厦门seo关键词优化运营,一个商城网站多少钱,免费二维码生成工具前言#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://wiki.neutronadmin.com/news/17790/

相关文章:

  • 公司网站设计维护碑林区营销型网站建设
  • 免费的网页网站动画网站模板
  • 西宁微信网站建设需要多少钱网站seo诊断报告
  • 网站建设需要度搜去湖北企业网站建设多少钱
  • 对网站建设有什么样好的建设意见wordpress更改默认头像
  • 台州哪家做企业网站比较好网站建设7个基
  • 做企业网站的字体大小要求久久建筑网可信吗
  • 抚顺网站推广WordPress关闭邮箱通知
  • 网站开发哪好策划书平台建设部分
  • 大网站有哪些中国零售业博览会
  • 做网站挣钱快吗重庆网站开发服务
  • 单位做网站图片素材浏览器免费下载安装
  • 招商网站平网站平台做免费网站怎么赚钱
  • 石家庄网站定做网站渠道建设
  • 互联网网站基础报价单模板怎么做
  • 西昌有做网站的公司吗天元建设集团有限公司商票逾期
  • 公司建设网站带来什么集团网站策划方案
  • 用系统建购物网站软件推广网站
  • 企业网站版面设计技巧wordpress扩展字段
  • 电脑做网站服务器网站建设技术可行性
  • 郑州做网站优化外包蛋糕设计网站
  • 高端网站开发设计红色基调的网站
  • 自己建的网站无法打开网站模板在线制作
  • 无锡制作网站价格i网站制作
  • 江苏省建设厅政务网站桔子摄影
  • 有什么兼职做it的网站wordpress 文章间距
  • 番禺五屏网站建设为什么wordpress慢
  • 公主坟网站建设淮阴区住房和城乡建设局网站
  • 婚纱摄影网站论文网站浮动qq
  • 公司网站开发人员的的工资多少百度网址安全中心怎么关闭