zii.widgets.CListView встроить в шаблон страницы

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

zii.widgets.CListView встроить в шаблон страницы

Сообщение delias »

Нужно прям из layout вызвать список данных с AJAX-пагинацией. То что реализовать в view/index.php устраивает , а вот можно ли это засунуть в шаблон, чтобы там отобразить эти данные?
т.е. нужно

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

$this->widget('zii.widgets.CListView', array(
            'dataProvider'=>$dataProvider,
            'itemView'=>'_view',
        ));
 
встроить в страницу сайта.
Можно ли это сделать и насколько это правильно? Не знаю пока что всех аспектов глубоко, быть может есть уже готовые решения.
Спасибо за помощь
Аватара пользователя
vbolshakov
Сообщения: 32
Зарегистрирован: 2011.10.11, 16:42
Откуда: Ярославль, Москва
Контактная информация:

Re: zii.widgets.CListView встроить в шаблон страницы

Сообщение vbolshakov »

zii.widgets.CListView - это виджет его можно вызывать ил любого шаблона, в том числе и из layout.
$dataProvider - это по сути данные модели, их получать в шаблоне нельзя.

Я бы сделал виджет, в init() получал $dataProvider, а в run выводил:

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

$this->widget('zii.widgets.CListView', array(
            'dataProvider'=>$dataProvider,
            'itemView'=>'_view',
        )); 
Тогда в layout можно вызвать

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

<?php $this->widget('MyWidgetNameWidget');?>
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

Re: zii.widgets.CListView встроить в шаблон страницы

Сообщение delias »

спасибо большое за помощь. так и сделаю
Аватара пользователя
vbolshakov
Сообщения: 32
Зарегистрирован: 2011.10.11, 16:42
Откуда: Ярославль, Москва
Контактная информация:

Re: zii.widgets.CListView встроить в шаблон страницы

Сообщение vbolshakov »

Только $dataProvider сделайте свойством в виджете, чтобы его передавать из init в run
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: zii.widgets.CListView встроить в шаблон страницы

Сообщение anton44eg »

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

'template'=>'{pager}{items}' 
может так?
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

Re: zii.widgets.CListView встроить в шаблон страницы

Сообщение delias »

пытаюсь пагинацию вверх перенести, полез копать framework\web\widgets\pagers\ - чёрт ногу сломит. страшно как-то стало

нашел: строка public $template="{summary}\n{sorter}\n{items}\n{pager}"; в CListView.php

но как это передать параметром?
'template'=>'{pager}{items}' матюкается "Не определено свойство "CLinkPager.template"."

upd^ ан нет, работает, прописал правильно:

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

$this->widget('zii.widgets.CListView', array(
            //'text'=>'Text',
            'dataProvider'=>$dp,
            'itemView'=>'_viewAllFeeds',
            'template'=>'{pager}{items}',
 
спасибо за помощь! узнал много нового
Ответить