use 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,
]);
use yii\widgets\LinkPager;
//循环展示数据
foreach ($models as $model) {
// ......
}
//显示分页页码
echo LinkPager::widget([
'pagination' => $pages,
])
<?= LinkPager::widget([ 'pagination' => $pages, 'nextPageLabel' => '下一页', 'prevPageLabel' => '上一页', ]); ?>
<?= LinkPager::widget([ 'pagination' => $pages, 'nextPageLabel' => false, 'prevPageLabel' => false, ]); ?>
<?= LinkPager::widget([ 'pagination' => $pages, 'firstPageLabel' => '首页', 'lastPageLabel' => '尾页', ]); ?>
<?= LinkPager::widget([ 'pagination' => $pages, 'hideOnSinglePage' => false, ]); ?>
<?= LinkPager::widget([ 'pagination' => $pages, 'maxButtonCount' => 5, ]); ?>
<?= LinkPager::widget([ 'pagination' => $pages, 'options' => ['class' => 'm-pagination'], ]); ?>
$pages = new Pagination([ 'totalCount' => $totalCount, ]);
$pages = new Pagination([ 'totalCount' => $totalCount, 'pageSize' => 5, ]);
$pages = new Pagination([ 'totalCount' => $totalCount, 'pageSizeParam' => false, ]);
$pages = new Pagination([ 'totalCount' => $totalCount, 'pageParam' => 'p', ]);
$pages = new Pagination([ 'totalCount' => $totalCount, 'route' => false, ]);
$pages = new Pagination([ 'totalCount' => $totalCount, 'validatePage' => false, ]);
<?php
namespace frontend\components;
use yii\widgets\LinkPager;
use yii\helpers\Html;
class MLinkPager extends LinkPager
{
public $prevPageLabel = '<i class="fa fa-angle-left"></i>';
public $nextPageLabel = '<i class="fa fa-angle-right"></i>';
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 page
if ($this->prevPageLabel !== false) {
if (($page = $currentPage - 1) < 0) {
$page = 0;
}
$buttons[] = $this->renderPageButton($this->prevPageLabel, $page, $this->prevPageCssClass, $currentPage <= 0, false);
}
// current page / count page
if ($this->currentCountPageLabel !== false && $pageCount) {
$currentCountPageLabel = str_replace(['{currentPage}', '{countPage}'], [$currentPage+1, $pageCount], $this->currentCountPageLabel);
$buttons[] = Html::tag('span', $currentCountPageLabel, array('class' => $this->currentCountPageClass));
}
// next page
if ($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);
}
}
use frontend\components\MLinkPager; <?= MLinkPager::widget([ 'pagination' => $pages, ]); ?>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有