«

»

Oct 10

Créer une liste déroulante avec YiiFramework

Dans cet article nous allons voir comment utiliser la liste déroulante dans un formulaire.

Comme Yii est la pour faciliter la vie du développeur, la classe dropDownList vous permettra d’afficher une liste déroulante soit à partir de données que vous lui indiquerez manuellement ou soit à partir de données provenant d’une base de données

S’agissant d’un composant visuel, celui-ci provient de la classe CHtml qui porte la méthode « CHtml::dropDownList() method ».

 

public static function dropDownList($name,$select,$data,$htmlOptions=array())

$name: Correspond au tag name du <select> en HTML
$select: correspond à l’élément sélectionné par défaut dans la liste (clé de la valeur à renseigner)
$data: correspond au tableau de données contenu dans la liste déroulante (clé->valeur)
$htmlOptions: tableau d’attributs supplémentaire HTML

Exemple de liste déroulante simple sans utilisation du contrôleur

Ajouter dans votre vue le code suivant

<?php echo CHtml::dropDownList('listname', '1',
array('0' => 'Madame', '1' => 'Mademoiselle','2'=>'Monsieur'));?>

Dans cet exemple, Mademoiselle est sélectionné par défaut puisqu’en 2ème paramètre, la valeur 2 correspond à la clé de ‘Mademoiselle’.
A l’affichage cela donne

Exemple de liste déroulante simple avec utilisation du « Model »

Au niveau de la vue (view)

<?php echo CHtml::dropDownList('listname', '1',$model->getData);?>

Au niveau du model, ajouter la fonction permettant de renvoyer le tableau de données

 public function getData(){
    return array('0' => 'Madame', '1' => 'Mademoiselle','2'=>'Monsieur');
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>