Сделайте CListView, чтобы закрыть div и открывать новый div после каждого четвертого элемента в CListView - PullRequest
0 голосов
/ 15 декабря 2011

Я новичок в Yii. У меня в руке есть требование перечислить все записи в модели. Поэтому я использую view / MyModel / index.php, чтобы добиться цели. Я использовал следующий код для их отображения.

$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
    'template'=>'{pager}<br />{items}<br />{pager}<br />{summary}',
'itemView'=>'_view',

Я должен сгруппировать каждые четыре записи, которые я показываю. Поэтому мне придется закрывать тег div после каждого четвертого элемента и сразу после этого открывать новый тег div.

Есть ли какие-либо средства, с помощью которых я могу узнать количество элементов, отображаемых в CListView, чтобы я мог закрыть там тег div и открыть новый?

Ответы [ 3 ]

1 голос
/ 22 мая 2013

Я только что написал этот урок, который дает еще лучшее решение:

http://www.yiiframework.com/wiki/495/using-clistview-to-display-items-next-to-each-other-in-columns/

0 голосов
/ 22 мая 2013

В вашем файле "_itemView":

// your content

<?php if (($index+1) %4 == 0): ?></div><?php endif; ?>

Вот и все!

0 голосов
/ 16 декабря 2011
if($this->dataProvider->pagination) {
$data['realIndex']=$i+$this->dataProvider->pagination->currentPage*$this->dataProvider->pagination->pageSize;
} else {
$data['realIndex']=$i;
}

Расширение класса CListView может получить значение текущего индекса элемента с текущей страницы. То есть, если используется разбиение на страницы, каждая страница будет иметь индекс элемента, начиная с 0.

...