Displaying image in a CGridView column.

This is a simple example of how we can display images in CGridviews.Imagine that you have an image field in your table ie either a location field or a blob type field used to store the images.

$assetsDir = dirname(__FILE__).'/../assets'; /*Assume that you have a folder named assets inside the protected folder used to store the images */


<?php $this->widget('bootstrap.widgets.CGridView', array(
    'type'=>'striped bordered condensed',
	'id'=>'expenses-grid',
    'dataProvider'=>$model->search(),
    'template'=>"{items}",
    'columns'=>array(
             
                  array(
			'name'=>'image',
			'type'=>'html',
			'value'=>'(!empty($data->image))?CHtml::image(Yii::app()->assetManager->publish('.$assetsDir.'$data->image),"",array("style"=>"width:25px;height:25px;")):"no image"',
			              
		),
        array(
            'class'=>'bootstrap.widgets.BootButtonColumn',
			'template' => '{update} {delete}',
			'buttons' => array(
				'update' => array(
					'label'=> 'Update',
					'options'=>array(
						'class'=>'btn btn-small update'
					)
				),
				'delete' => array(
					'label'=> 'Delete',
					'options'=>array(
						'class'=>'btn btn-small delete'
					)
				)
			),
            'htmlOptions'=>array('style'=>'width: 80px'),
        )
    ),
)); ?>

-Sirin k

9 1
14 followers
Viewed: 70 584 times
Version: 1.1
Category: How-tos
Written by: sirin k
Last updated by: Maurizio Domba Cerin
Created on: May 15, 2012
Last updated: 3 years ago
Update Article

Revisions

View all history

Related Articles