Yii Framework Forum: Plusieurs Condition If dans un Cgridview - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Plusieurs Condition If dans un Cgridview Rate Topic: -----

#1 User is offline   lolman971 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 18-July 11

Posted 25 August 2011 - 04:02 PM

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.
0

#2 User is offline   Raoul 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 637
  • Joined: 29-November 08
  • Location:Paris, France

Posted 26 August 2011 - 03:04 AM

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)
0

#3 User is offline   lolman971 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 18-July 11

Posted 29 August 2011 - 10:41 AM

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;		
	}	

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users