1 Востаннє редагувалося miroslav.chandler (06.08.2012 15:50:18)

Тема: Yii, CListView, Pagination

Сьогодні сталося так. що віджет CListView трохи не правильно відображав пагінацію. Тобто логіка відображення в данному випадку мені не підходила, бо мені треба було перенести пагінацію в інше місце.
Я вирішив це наступним чином.

Контроллер
[code=php]
        //метод повертає екземпляр класу CActiveDataProvider з потрібними мені опціями
        $regions = Users::getRegions(Yii::app()->user->id);
        //получаєм екземпляр класу CPagination, який сформував CActiveDataProvider
        $pagination = $regions->getPagination();
        $this->render('index',array(
            'dataProvider' => $regions,
             //передаєм його в вюху
            'pagination' => $pagination
        ));
[/code]

Вюха.(CGridView мені не підходив)
[code=html]
<h1>Документооборот</h1>
<br>
<table class="table table-striped table-bordered table-condensed">
<?
$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_table',
    //вимикаємо пагінацію в CListView
    'enablePagination' => false,
));
?>
</table>
<!-- Переносимо пагінацію в потрібне місце -->
<?php $this->widget('CLinkPager', array(
    'pages' => $pagination,
)) ?>
[/code]

Надіюсь комусь буде корисно.