0

我只想在 Clistview 中回显一个 div,这些项目是按状态排序的,所以,我想打印状态 1 -> 所有项目,然后是状态 2 -> 所有具有该状态的项目,我尝试了 viewData,但我不知道如何更改标志的值。

索引视图:

<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>

_事件视图:

<?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;
    }
?>
4

1 回答 1

1

您需要不是从数组$data( $data->inactivo) 而是直接从变量中获取值$inactivo。但无论如何,在每次迭代中,这些变量的值将再次等于1。在这种情况下,您可以使用以下方法: 在小部件声明之前:

Yii::app()->params['activos_flag']=1;
Yii::app()->params['inactivos_flag']=1;

并在部分视图中:

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;
}
于 2014-03-06T15:37:14.430 回答