Cgridview Et Paramètre

Bonjour,

Je pense que ma question est trivial, mais je n’arrive pas à trouver de solution (ni comment formuler ma recherche)

J’ai une page qui présente les données sous forme d’un Grid et je souhaiterais que lors de la création d’URL (Yii::app()->createUrl(…))) je puisse passer des paramètre qui s’inscriront directement dans les en-tête de colonne et qui fasse déjà la recherche.

Je pense bien que de base il y a une fonction mais je n’arrive pas à la trouver ou alors pas à mettre le bon identifiant pour que YII trouve ou mettre la value

Merci d’avance

Bonjour,

Si tu regardes le code généré en standard par Gii, tu trouveras dans ton contrôleur une méthode actionAdmin() et dans cette méthode une initilialisaiton de ton modèle de ce style :


	public function actionAdmin()

	{

		$model=new Post('search');

		if(isset($_GET['Post']))

			$model->attributes=$_GET['Post'];

		$this->render('admin',array(

			'model'=>$model,

		));

	}

Il suffit d’ajouter d’assigner les valeurs souhaitées aux propriétés adéquates, genre :


	public function actionAdmin()

	{

		$model=new Post('search');

		if(isset($_GET['Post']))

			$model->attributes=$_GET['Post'];


		// ICI

		$model->some_attribute = 'valeur_type_string';

		$model->some_other_attribute = 123;


		$this->render('admin',array(

			'model'=>$model,

		));

	}

Aaaah

Je n’avais pas bien compris comment Yii fesait pour charger ces pages. D’accord, du coup j’ai compris que chaque type de “view” avec son action…

Merci beaucoup, ça marche parfaitement ;D

Je signale entre parenthèse que rien n’empêche que deux actions differntes ne conduise vers la meme vue ;)

Ou une même action peut afficher des vues différentes selon le contexte. C’est la partie “$this->render()”, et plus particulièrement son premier argument, qui détermine la vue à afficher.

Je confirme!