mohsen_31369
یک شنبه 20 بهمن 1392, 11:01 صبح
با سلام خدمت دوستان
چند وقت پیش می خواستم از ویجت CListView در پروژه ام استفاده کنم به طوریکه هر چند آیتم را درون یک div قرار بدهم. به شکل زیر :
<div class='row' >
<div> item 1 </div>
<div> item 2 </div>
<div> item 3 </div>
<div> item 4 </div>
</div>
به همین منظور CListView رو کمی تغییر دادم که برای شما هم قرار می دم که استفاده نمایید
<?php
Yii::import('zii.widgets.CListView');
class ColListView extends CListView {
public $columns = 2;
public $colTag = 'div';
public $colHtmlOptions = array('class'=>'row-fluid');
public function renderItems() {
$numColumns = (int) $this->columns; // Number of columns
if ($numColumns < 2) {
parent::renderItems();
return;
}
echo CHtml::openTag($this->itemsTagName, array('class' => $this->itemsCssClass)) . "\n";
$data = $this->dataProvider->getData();
if (($n = count($data)) > 0) {
$owner = $this->getOwner();
$render = $owner instanceof CController ? 'renderPartial' : 'render';
$count = count($data);
foreach ($data as $i => $item) {
$i++;
/*
* open column tag
*/
if (($i) % $numColumns == 1){
echo CHtml::openTag($this->colTag, $this->colHtmlOptions);
}
$data = $this->viewData;
$data['index'] = $i;
$data['data'] = $item;
$data['widget'] = $this;
$owner->$render($this->itemView, $data);
/*
* close column tag
*/
if (($i) % $numColumns == 0 or $i==($count)) {
echo CHtml::closeTag('div');
}
}
} else {
$this->renderEmptyText();
}
echo CHtml::closeTag($this->itemsTagName);
}
}
?>
نحوه ی استفاده
<?php
$this->widget('ext.ColListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'//view/_view',
'columns' => 4,
'colTag' => 'ul',
'colHtmlOptions' => array('class' => 'row'),
));?>
چند وقت پیش می خواستم از ویجت CListView در پروژه ام استفاده کنم به طوریکه هر چند آیتم را درون یک div قرار بدهم. به شکل زیر :
<div class='row' >
<div> item 1 </div>
<div> item 2 </div>
<div> item 3 </div>
<div> item 4 </div>
</div>
به همین منظور CListView رو کمی تغییر دادم که برای شما هم قرار می دم که استفاده نمایید
<?php
Yii::import('zii.widgets.CListView');
class ColListView extends CListView {
public $columns = 2;
public $colTag = 'div';
public $colHtmlOptions = array('class'=>'row-fluid');
public function renderItems() {
$numColumns = (int) $this->columns; // Number of columns
if ($numColumns < 2) {
parent::renderItems();
return;
}
echo CHtml::openTag($this->itemsTagName, array('class' => $this->itemsCssClass)) . "\n";
$data = $this->dataProvider->getData();
if (($n = count($data)) > 0) {
$owner = $this->getOwner();
$render = $owner instanceof CController ? 'renderPartial' : 'render';
$count = count($data);
foreach ($data as $i => $item) {
$i++;
/*
* open column tag
*/
if (($i) % $numColumns == 1){
echo CHtml::openTag($this->colTag, $this->colHtmlOptions);
}
$data = $this->viewData;
$data['index'] = $i;
$data['data'] = $item;
$data['widget'] = $this;
$owner->$render($this->itemView, $data);
/*
* close column tag
*/
if (($i) % $numColumns == 0 or $i==($count)) {
echo CHtml::closeTag('div');
}
}
} else {
$this->renderEmptyText();
}
echo CHtml::closeTag($this->itemsTagName);
}
}
?>
نحوه ی استفاده
<?php
$this->widget('ext.ColListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'//view/_view',
'columns' => 4,
'colTag' => 'ul',
'colHtmlOptions' => array('class' => 'row'),
));?>