PHP7中文手册2018 带注释 最新chm版
function actionIndex()
{
$query = User::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,
]);
}
index.php
foreach ($models as $model) {
// display $model here
}
// display pagination
echo LinkPager::widget([
'pagination' => $pages,
]);
CustomPagination.php Class In Yiiframework 2.0
<?php
namespace app\components;
use Yii;
use yii\base\InvalidConfigException;
use yii\helpers\Html;
use yii\base\Widget;
use yii\data\Pagination;
class CustomPagination extends \yii\widgets\LinkPager
{
public function init()
{
parent::init();
}
public function run()
{
parent::run();
}
protected function renderPageButton($label, $page, $class, $disabled, $active)
{
$options = ['class' => $class === '' ? null : $class];
if ($active) {
Html::addCssClass($options, $this->activePageCssClass);
}
if ($disabled) {
Html::addCssClass($options, $this->disabledPageCssClass);
return Html::tag('li', Html::tag('span', $label), $options);
}
$linkOptions = $this->linkOptions;
$linkOptions['data-page'] = $page;
$linkOptions['onclick']='submit_form('.$page.')';
return Html::tag('li', Html::a($label, '#pagination', $linkOptions), $options);
}
}
Controller.php
public function index(){
$query = Tablereport::find();
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count()]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
return $this->render('GridView', [
'dataProvider' => $dataProvider,
'pages' => $pages,
]);
}
GridView.php
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use app\components\CustomPagination;
?>
<div class="report-index">
<?= GridView::widget([
'dataProvider' => $dataProvider,
//'filterModel' => $searchModel,
'layout' => "{summary}\n{items}",
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'report_name',
'report_table',
'report_query:ntext',
'created_on',
// 'created_by',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
<div id="custom-pagination">
<?php
echo CustomPagination::widget([
'pagination' => $pages,
]);
?>
</div>
</div>
转载请注明:谷谷点程序 » yii2.0 Pagination 分页教珵