我想做的是让Yii框架内的CGridView从数据库中的Image表中获取数据,该表由imageUrl和imagesExtension表格组成。现在我只想显示目录中的实际图像,然后只显示文本。
这意味着我必须将imageUrl和imagesExtension连接在一起,并在前面创建路径以显示图像标签。
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',
),
),
));
您可以自定义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,而不是显示文本。