Не работает пагинация через CLinkPager

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Не работает пагинация через CLinkPager

Сообщение 1Dmitry »

Вообщем такая проблема, на всех страницах отображается только первые 10 записей, из-за чего такое может быть?
Аватара пользователя
MetalGuardian
Сообщения: 208
Зарегистрирован: 2011.03.06, 02:42
Откуда: Киев

Re: Не работает пагинация через CLinkPager

Сообщение MetalGuardian »

как вы подключаете пагинацию?
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Не работает пагинация через CLinkPager

Сообщение 1Dmitry »

Ну когда только первые 10 записей то через CListView, и когда в виджете enablePagination=>true то пагинация этого виджета работает. Но мне хотелось бы, просто передавать модель во вью и использовать уже отдельную пагинацию

Код: Выделить всё

$pages = new CPagination($postCount);
$pages->pageSize = 10;
$pages->applyLimit($postCriteria);
во вью

Код: Выделить всё

<?php $this->widget('CLinkPager', array(
    'pages' => $pages,
)); ?>
в таком случае отображаются полностью все записи модели на каждой странице
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Не работает пагинация через CLinkPager

Сообщение 1Dmitry »

я уже и до минимума упростил, как в примере документации

Код: Выделить всё

<?php foreach($post as $value):?>
    <?php print_r($value->message) ?>
<?php endforeach; ?>

<?php $this->widget('CLinkPager', array(
    'pages' => $pages,
)); ?>
все равно не работает :cry:
Аватара пользователя
asset
Сообщения: 245
Зарегистрирован: 2012.12.04, 20:50
Откуда: Казахстан

Re: Не работает пагинация через CLinkPager

Сообщение asset »

У тебя куча ошибки.

После endforeach убери (;)
print_r($value->message);

или попробуй добавить Post::model()->count()

пример

Код: Выделить всё

       $postCriteria = new CDbCriteria;
       $pages = new CPagination(Post::model()->count());
       $pages->pageSize=10;
       $pages->applyLimit($postCriteria);

        $posts = Post::model()->findAll($postCriteria);

        $this->render('index',array(
            'posts'=>$posts,
            'pages'=>$pages,
        ));

view

Код: Выделить всё

<?php $this->widget('CLinkPager',array('pages'=>$pages)); ?>
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Не работает пагинация через CLinkPager

Сообщение futbolim »

1Dmitry писал(а):я уже и до минимума упростил, как в примере документации

Код: Выделить всё

<?php foreach($post as $value):?>
    <?php print_r($value->message) ?>
<?php endforeach; ?>

<?php $this->widget('CLinkPager', array(
    'pages' => $pages,
)); ?>
все равно не работает :cry:
dataProvider вера не позволяет использовать ?
Аватара пользователя
1Dmitry
Сообщения: 254
Зарегистрирован: 2013.05.08, 20:27
Откуда: Украина

Re: Не работает пагинация через CLinkPager

Сообщение 1Dmitry »

Позволяет, уже без него обошелся. Проблема была в том, что

Код: Выделить всё

$posts = Post::model()->findAll($postCriteria); 
нужно было, после applyLimit делать.
Ответить