我想在Clistview中只回显一次div,项目按状态排序,因此,我想打印状态1 - >所有项目,然后状态2 - >所有具有该状态的项目,我尝试了viewData,但我不知道如何更改标志的值。
INDEX VIEW:
<div class="modal-body">
<?php
$activos_flag = 1;
$inactivos_flag = 1;
?>
<?php
$this->widget('zii.widgets.grid.CListView', array(
'id'=>'incs',
'summaryText'=>'',
'dataProvider'=>$dataProviderInc,
'itemView'=>'_incidencias',
'viewData'=> array('activo'=> $activos_flag,'inactivo'=>$inactivos_flag),
));
?>
</div>
_INCIDENCIAS VIEW:
<?php
if ($data->activo == 1 and $data->incidencia_estado == 1){
echo ('<label class="incidencias">ACTIVOS</label>');
$data->activo = 0;
}
if ($data->inactivo == 1 and $data->incidencia_estado == 0){
echo ('<label class="incidencias">INACTIVOS</label>');
$data->inactivo = 0;
}
?>
答案 0 :(得分:1)
您需要获取的值不是来自数组$data
($data->inactivo
),而是直接来自变量$inactivo
。但无论如何,在每次迭代中,这些变量的值将再次等于1
。在这种情况下,您可以使用以下方法:
在小部件声明之前:
Yii::app()->params['activos_flag']=1;
Yii::app()->params['inactivos_flag']=1;
并在parial视图中:
if ( Yii::app()->params['activos_flag'] == 1 ){
echo ('<label class="incidencias">ACTIVOS</label>');
Yii::app()->params['activos_flag'] = 0;
}
if ( Yii::app()->params['inactivos_flag'] == 1 ){
echo ('<label class="incidencias">INACTIVOS</label>');
Yii::app()->params['inactivos_flag'] = 0;
}