0

データプロバイダーの値にある場合、デフォルト値を設定するにはどうすればよいですか$data->pic==""。データ画像を次のように設定na.jpg

widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(
    array(
        'type'=>'raw',
        'name'=>'pic',
        'value'=>'CHtml::image("http://localhost/studentpics/".$data->pic)',
    ),
));
4

3 に答える 3

1

valuePHP式として評価されるため、条件を使用しても問題ありません

'value'=>'CHtml::image(($data->pic)?"http://localhost/studentpics/".$data->pic:"default_image_url")',

PS どこでも絶対 URL を使用するのは悪い考えです。

于 2013-04-15T09:27:03.243 に答える
1
widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
 array(
                    'name'=>'your Image URL',
                    'type'=>'image',
                    'htmlOptions'=>array('width'=>'30px','height'=>'30px'),
            ),
));
于 2013-04-15T06:20:39.690 に答える
0

CActiveRecord の afterFind メソッドをオーバーライドできると思います

protected function afterFind()
{
 if($this->pic ===null)
   {
    $this->pic = na.jpg;
   }
  parent::afterFind();
}
于 2013-04-15T18:23:57.130 に答える