Таблица одна - posts.
на сайте отображается в виде 2ух колонок (слева, справа).
Слева достаются все посты, а справа есть некоторое условие, под которое выбираются лишь определенные посты.
в контроллере пишу
Код: Выделить всё
$tree = new Posts();
/** посты по дефолту */
$allPostsDefault = $tree->find()->where('visible = 1');
$countPostsDefault = $allPostsDefault->count();
$paginationPostsDefault = new Pagination(['totalCount' => $countPostsDefault, 'pageSize'=>6]);
$allPostsDefault = $allPostsDefault->offset($paginationPostsDefault->offset)
->limit($paginationPostsDefault->limit)
->orderBy('post_id DESC')
->all();
/** посты по дефолту */
/** посты по условию */
$allPostsSpecial = $tree->find()->where('special = 1 AND visible = 1');
$countPostsSpecial = $allPostsSpecial->count();
$paginationPostsSpecial = new Pagination(['totalCount' => $countPostSpecial, 'pageSize'=>6]);
$allPostsSpecial = $allPostsSpecial->offset($paginationPostsSpecial->offset)
->limit($paginationPostsSpecial->limit)
->orderBy('post_id DESC')
->all();
/** посты по условию */
// передача во вьюху
return $this->render('index', [
'allPostsDefault'=>$allPostsDefault, //все посты по дефолту
'paginationPostsDefault'=>$paginationPostsDefault, //пагинация постов по дефолту
'allPostsSpecial'=>$allPostsSpecial, //специальные посты
'paginationPostsSpecial'=>$paginationPostsSpecial //пагинация спец. постов
]);
во вьюхе (вот этот момент не понимаю), как реализовать 2 пагинатора, если у них классе есть публичное поле - pagination. Я пробовал делать так:
<?php
//первый пагинатор
echo LinkPager::widget([
'pagination' => $paginationPostsDefault,
]);
?>
<?php
//второй пагинатор
echo LinkPager::widget([
'pagination2' => $paginationPostsSpecial,
]);
?>
//естественно я получаю ошибку, т.к. в классе LinkPager такого свойства нет, а если и добавить, то дальше полезут последующие ошибки. Как выйти из ситуации? Заранее, спасибо)) :?: