Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2006, 15h36   #1
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Par défaut Générer une balise select

Je mets ce message ici tout en me posant la question ?

Forum php ou html ?

Je débute avec smarty et lors de mes premiers pas j'ai fait des boîte de sélection comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
<select name="lien">
						<option value=""></option>
						{foreach from=$tb_tables item=tb_table}
								<option value="{$tb_table}"
	  							{if ($tb_table == $table.lien)}
	  					 		selected
	  				 			{/if}
	  							>{$tb_table}</option>	
	  					{/foreach}		
						</select>
Imbrication de smarty et html, mais pas très performant en guise de programmation.

Et puis hier, j'ai découvert dans la doc, il faut la lire, mais c'est long fastidieux ,pas clair et avec quelques erreurs de syntaxe dans les exemples.

Je disais donc que j'avais découvert ceci :
Code :
{html_options name="lien" options=$tb_table selected=$table.lien}
Ce qui fait quasiment la même chose que plus haut.

J'ai quand même une question, peut-on avec cette technique avoir une valeur par défaut ou tout au moins mettre une valeur à blanc.

Merci
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2006, 09h48   #2
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
J'ai l'impression qu'il manque une sous partie forum pour les "templates", qu'ils soient Smarty ou autre.

Bon, ne trouvant nul part ici ou ailleur, j'ai copié la fonction smarty qui coinçait (c'est du php) et j'ai fait une modif dedans.

Il y avait dans html_options ceci
Code :
1
2
3
    if (isset($options)) {
        foreach ($options as $_key=>$_val)
            $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
Et j'ai fait cela

Code :
1
2
3
4
5
    if (isset($options)) {
    // Attention ajout de $_html_result = '<option value=""></option>'. "\n";
        $_html_result = '<option value=""></option>'. "\n";
        foreach ($options as $_key=>$_val)
            $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
Tout baigne maintenant pour la valeur à blanc

Pour une valeur par defaut (uniquement en création), je commence par récupérer l'id de ma valeur par défaut que je met dans $table_lien.

Ce qui fait que la foncrion va d'elle même chercher cette valeur.

Code :
{html_options name="lien" options=$tb_table selected=$table.lien}
Voili, voilou

A j'oubliai, il faut bien sûr inscrire dans votre documentation d'installation de votre site que vous avez une modif dans une fonction et qu'il faut la copier ou la contrôler à chaque changement de version de smarty.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h25.


 
 
 
 
Partenaires

Hébergement Web