пагинация. Как правильно сделать?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
ninzzo
Сообщения: 348
Зарегистрирован: 2014.04.25, 07:29

пагинация. Как правильно сделать?

Сообщение ninzzo »

Дано:
таблица catalog
-id
-name

таблица tovar
-id
-parent_id
-name



контроллер CatalogController

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

public function actionCatalog()
    {
         $this->render('index');


//тут хочу задать поиск по parent_id в tovar и вывести это через пагинацию

$criteria = new CDbCriteria;
$id = $_GET['id'];

$dataProvider=new CActiveDataProvider('Tovar', array(
    'criteria'=>array(
        'condition'=>'id > 0',   //для теста хочу найти все 
    ),
   
    'pagination'=>array(
        'pageSize'=>1,
    ),
));

$this->renderPartial('test', array(
            'dataProvider'=>$dataProvider,
        )); 
    }
1. Я все правильно указал ?
2. Что теперь нужно на странице vievs/test.php написать что бы мои товары вывелись с пагинацией ??
Аватара пользователя
ninzzo
Сообщения: 348
Зарегистрирован: 2014.04.25, 07:29

Re: пагинация. Как правильно сделать?

Сообщение ninzzo »

Разобрался что нужно.

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

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'test',   // refers to the partial view named '_post'
    
)); 

Вылез новый вопрос:

Как правильно задать параметр ?

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

$id = $_GET['id'];
$criteria->condition = 'id = "'.$id.'"'; 
Так не работает.
leshgan
Сообщения: 32
Зарегистрирован: 2013.10.28, 08:50

Re: пагинация. Как правильно сделать?

Сообщение leshgan »

так?

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

$criteria->addCondition(array('id'=>$id));
 
Ответить