par
d0m » 22 janv. 2008, 14:53
Alors il faut identifier le fonctionnement des classes et que fait chaque fonction :
//création d'un nouvel objet style (css)
$stylist = new Stylist( 'white' );
//initialisation de la liste des options de ton select
$list = array();
//creation d'une nouvelle option avec la couleur #000000
$item = new Item( '#000000' );
//on donne le style à l'option
$item->setStylist( $stylist );
//ajout de l'option dans la liste
$list[] = $item;
//idem avec d'autres couleurs ...
$item = new Item( '#336699' );
$item->setStylist( $stylist );
$list[] = $item;
$item = new Item( '#CC6600' );
$item->setStylist( $stylist );
$list[] = $item;
//creation d'une nouvelle liste déroulante avec comme option le contenu de $list, le nom 'color' et la classe css 'inputbox'
$lists['c_banniere'] = new Select( $list, 'color', 'inputbox' );
//affichage de la liste déroulante
$lists['c_banniere']->render()
la fonction
render() doit afficher le SELECT et les différents options qui le compose.
cette fonction fait 3 choses :
- affiche la balise <SELECT ..... >
- fait appel à la fonction render() de tous les options qui le compose
- affiche la balise </SELECT>
or l'affichage d'une option dépend de la valeur de celle ci. Si la valeur est celle par défaut, il faut rajouter SELECTED.
donc cette affichage en plus doit se faire dans la fonction d'affichage render() de l'option.
Mais pour ca il faut faire un test avec la valeur par défaut, il faut donc la passer en paramètre de la fonction.
Tu peux comme le propose Ryle mettre cette valeur en attribut de la liste donc comme attribut de la classe
Select.
Il faut donc rajouter la valeur par défaut dans le constructeur de Select
Alors il faut identifier le fonctionnement des classes et que fait chaque fonction :
[php]
//création d'un nouvel objet style (css)
$stylist = new Stylist( 'white' );
//initialisation de la liste des options de ton select
$list = array();
//creation d'une nouvelle option avec la couleur #000000
$item = new Item( '#000000' );
//on donne le style à l'option
$item->setStylist( $stylist );
//ajout de l'option dans la liste
$list[] = $item;
//idem avec d'autres couleurs ...
$item = new Item( '#336699' );
$item->setStylist( $stylist );
$list[] = $item;
$item = new Item( '#CC6600' );
$item->setStylist( $stylist );
$list[] = $item;
//creation d'une nouvelle liste déroulante avec comme option le contenu de $list, le nom 'color' et la classe css 'inputbox'
$lists['c_banniere'] = new Select( $list, 'color', 'inputbox' );
//affichage de la liste déroulante
$lists['c_banniere']->render()[/php]
la fonction [b]render()[/b] doit afficher le SELECT et les différents options qui le compose.
cette fonction fait 3 choses :
- affiche la balise <SELECT ..... >
- fait appel à la fonction render() de tous les options qui le compose
- affiche la balise </SELECT>
or l'affichage d'une option dépend de la valeur de celle ci. Si la valeur est celle par défaut, il faut rajouter SELECTED.
donc cette affichage en plus doit se faire dans la fonction d'affichage render() de l'option.
Mais pour ca il faut faire un test avec la valeur par défaut, il faut donc la passer en paramètre de la fonction.
Tu peux comme le propose Ryle mettre cette valeur en attribut de la liste donc comme attribut de la classe [b]Select[/b].
Il faut donc rajouter la valeur par défaut dans le constructeur de Select