0

1 つの画像列で結果を表示するライター コードがあります。どういうわけかそれは私にエラーを与えています

このようなコードを書きました。

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'photo-grid',
'dataProvider' => $model->search(),
//'filter' => $model,
'columns' => array(
    'id',
    array(
            'name'=>'user_id',
            'value'=>'GxHtml::valueEx($data->user)',
            'filter'=>GxHtml::listDataEx(User::model()->findAllAttributes(null, true)),
            ),
    array(
            'name'=>'regulation_id',
            'value'=>'GxHtml::valueEx($data->regulation)',
            'filter'=>GxHtml::listDataEx(Regulation::model()->findAllAttributes(null, true)),
            ),
    //'photo_img',
    array(
            'name' => 'Photo Img',
            'type' => 'raw',
            'value' => CHtml::image(Yii::app()->controller->createUrl('photo/loadImage', array('id'=>$model->id)),"",array('width'=>50, 'height'=>50)), 
            ),
    array(
        'class' => 'CButtonColumn',
    ),
),

)); ?>

CGridViewで画像を表示する方法を教えてもらえますか?

4

2 に答える 2

6

そのレベルには $model->id はありません

それを $data に変更する必要があり、セルがレンダリングされるときに後で評価される文字列であることを確認します (文字列以外のままにしておくと、グリッドが作成される前に評価されることを意味します)

'value' => 'CHtml::image(Yii::app()->controller->createUrl(\'photo/loadImage\', array(\'id\'=>$data->id)),"",array(\'width\'=>50, \'height\'=>50))', 
于 2012-10-16T05:37:16.190 に答える
0

これを試してください、それは働いています:

array(        
    'name'=>'Image_name_large',
    'value'=>'CHtml::image(Yii::app()->request->baseUrl."/uploads/vehiclesimages/".$data->Image_name_large,
     "",
     array(\'width\'=>100, \'height\'=>100))',
     'type'=>'raw',
),
于 2013-06-26T11:33:46.970 に答える