我想要做的是让Yii框架内的CGridView从我的图像表中获取数据,该数据库由 imageUrl 和 imageExtension 表。现在我想只显示目录中的实际图像,然后只显示文本。
意思是我必须一起加入 imageUrl 和 imageExtension ,并在前面制作路径以显示图片标记。
这可以用CGridView吗?
这是我的CGridView代码:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'image-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'imageUrl',
'imageExtension',
array(
'class'=>'CButtonColumn',
),
),
));
答案 0 :(得分:2)
您可以自定义CGridView
列。
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'image-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'header'=>'MY IMAGES',
'name'=>'imageUrl',
'value'=>'CHtml::image($data->imageUrl.$data->imageExtension)',
'type'=>'raw'
),
array(
'class'=>'CButtonColumn',
),
),
));
通过以下数组:
array(
'header'=>'MY IMAGES',
'name'=>'imageUrl',
'value'=>'CHtml::image($data->imageUrl.$data->imageExtension)',
'type'=>'raw'
),
您告诉yii,要使用MY IMAGES
标头构建一个列,并将列的值显示为带有'value'=>'CHtml::image($data->imageUrl.$data->imageExtension)'
的图像。 'type'=>'raw'
表示您试图告诉yii,而不是显示文本。