如何在CGridview中添加图像

时间:2014-01-02 08:45:05

标签: gridview yii

这是我对表格的网格视图的索引:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'tblvehicleimagegrid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(

    'serial_no',
    array(
      'name'  =>'image',
        'type'=>'raw',
        'value'=> CHtml::image(Yii::getPathOfAlias('webroot')."/images/originals/images.jpg"),

    ),

    'line_no',
..........
.........

出现错误

enter image description here

需要一些帮助。

2 个答案:

答案 0 :(得分:1)

像这样添加单引号...

'value'=> 
'CHtml::image(Yii::getPathOfAlias("webroot")."/images/originals/images.jpg")',

答案 1 :(得分:1)

看看this page

如果您在Yii论坛上以bettor的方式编写代码:

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(

            array(
              'name'=>'Flag',
                'type'=>'image',
                'value'=>'CHtml::image("images/flags/".$data->country.".gif", "country")',
            ),

    ),
));

然后你最终得到这个:

<img alt="" src="<img src="images/flags/England.gif" alt="country" />"/>

请注意不兼容的元素?

换句话说,您需要设置&#39;类型&#39;在你的专栏声明中,&#39; html,&#39;这样CGridView就知道要查找HTML,这就是CHTML :: image将为您提供的。

编辑:

我知道Yii文档可能有点不清楚,但如果你看一下代码,它通常会有意义。在这种情况下,CHTML::image()的文档会告诉我们它会返回一个图像标记,具体而言。