Page 1 sur 1

templates + boutons radio

Posté : 30 nov. 2006, 18:29
par mcorgnet
Bonjour,

j'ai un dilemne, et je ne sais pas comment m'y prendre pour le résoudre. C'est plus dans le concept que dans le code, d'ailleurs, que je pose ma question :

J'ai un formulaire html, qui ne comprend que des boutons radio :

Code : Tout sélectionner

<tr class="{FIELDS.CLASSTITLE}"> <td width="350" height="50" align="left">{FIELDS.LIBELLE}</td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}0" value="0" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}1" value="1" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}2" value="2" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}3" value="3" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}4" value="4" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}5" value="5" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> </tr>
Mon problème, c'est qu'il est dans un template, et donc je ne peux pas placer de test if en php. Du coup, comme je récupère mes résultats dans une base de données, je ne sais pas comment placer la bonne valeur à "checked" pour chacune des occurences de formulaire.

Comme c'est un formulaire généré, ce bout de code est multiplié autant de fois que besoin ...

Une suggestion ?

Posté : 30 nov. 2006, 19:56
par jojolapine
regarde du côté de ton template s'il ne comporte pas de tests conditionnels déja implémenté...?

Posté : 01 déc. 2006, 00:01
par Truc
Le "{FIELDS.SELECTED}" doit bien servir à ça, non ?

Posté : 01 déc. 2006, 10:39
par mcorgnet
bah le {FIELD.SELECTED}, c'est moi qui l'ai créé.

En fait, mon $i (dans ma boucle pour générer mon formulaire), est le même pour cinq boutons radio. Seule change la valeur, en fait, sur mes radio.

voici le code php actuel :
	for ($i=0;$i<$cptFields;$i++) {
	$class=$listFields[$i][2]==1?"class=\"hidden\"":"";
	$classTitle=$listFields[$i][2]==1?"title":"normal";
	$selected="";

		$template->assign_block_vars('FIELDS', array(
			'I'=>$i,
			'ID'=>$listFields[$i][0],
			'LIBELLE'=>$listFields[$i][1],
			'ISTITLE'=>$listFields[$i][2],
			'NOTE'=>$listFields[$i][3],
			'SELECTED'=>$selected,
			'CLASS'=>$class,
			'CLASSTITLE'=>$classTitle
		));
	}
Et voici la boucle template en entier :

Code : Tout sélectionner

<!-- BEGIN FIELDS --> <input type="hidden" name="id[{FIELDS.I}]" id="id{FIELDS.I}" value="{FIELDS.ID}" /> <tr class="{FIELDS.CLASSTITLE}"> <td width="350" height="50" align="left">{FIELDS.LIBELLE}</td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}0" value="0" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}1" value="1" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}2" value="2" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}3" value="3" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}4" value="4" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> <td width="40"><input type="radio" {FIELDS.SELECTED} name="note[{FIELDS.I}]" id="note{FIELDS.I}5" value="5" tabindex="[{FIELDS.I}]" {FIELDS.CLASS} /></td> </tr> <!-- END FIELDS -->