Plusieurs Condition If dans un Cgridview

Bonjour à tous,

Je débute sur Yii et je me retrouve face à un problème.

Je cherche à remplir un Cgridview :

* Dans un cellule, je veux qu'en fonction d'une valeur il m'affiche une image.

Le problème est que j’ai 5 valeurs possibles donc je n’arrive pas à adapter la condition suivante pour que les 5 possibilités soient mises en place :




array(

    'header'=>'Titre',

    'type'=>'raw',

     'value'=>'(Log::model()->find("content_id=$data->id")->status_id) == 1 ? CHtml::image("/images/vert.png") : CHtml::image("/images/rouge.png")',


),



Je reformule donc la question : Comment gérer 5 conditions dans le champs ‘value’ d’un cgridview ???

Merci d’avance pour votre aide.

Salut lolman,

si les traitements nécessaires au rendu du contenu d’une colonne deviennent complexe (comme c’est la cas avec tes 5 conditions), je crois qu’il est plus pratique d’utiliser une classe et une méthode pour rendre ce contenu. Voici un exemple d’utilisation de la classe CDataColumn qui pourrait te servir à résoudre ton problème.

ciao

B)

Merci, pour la piste

En fin de compte j’ai fait une fonction de ce style hors de mon widget et cela passe bien …





function getIt($id){

		    

		$connection = Yii::app()->db;

		$sql = "'";

		$command = $connection->createCommand($sql);

		$data = $command->query();

		$row = $data->read(); 

			

		if ($row['...'] == '1' ) 

		{

			$voyantVert = CHtml::image("/images/vert.gif");

			$value = CHtml::link(Yii::app()->request->baseUrl.$voyantVert, array("log/view", "id"=>$row['content_id']));

		}

		if ($row['...'] == '2' ) 

		{

			$voyantRouge = CHtml::image("/images/orange.gif");

			$value = CHtml::link(Yii::app()->request->baseUrl.$voyantRouge, array("log/view", "id"=>$row['content_id']));

		}

		if ($row['...'] == '3' ) 

		{

			$voyantOrange = CHtml::image("/images/orange.gif");

			$value = CHtml::link(Yii::app()->request->baseUrl.$voyantOrange, array("log/view", "id"=>$row['content_id']));

		}

		if ($row['...'] == '4' ) 

		{

			$voyantGris = CHtml::image("/images/gris.gif");

			$value = CHtml::link(Yii::app()->request->baseUrl.$voyantGris, array("log/view", "id"=>$row['content_id']));

		}

		if ($row['...'] == '5' ) 

		{

			$voyantBlanc = CHtml::image("/images/blanc.gif");

			$value = CHtml::link(Yii::app()->request->baseUrl.$voyantBlanc, array("log/view", "id"=>$row['content_id']));

		}		

		echo $value;		

	}