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 24/07/2006, 16h21   #1
Candidat au titre de Membre du Club
 
Développeur Web
Inscription : mars 2005
Messages : 33
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 33
Points : 14
Points : 14
Par défaut Problème Variables

Bonjour,

J'ai un petit souci avec les variables Smarty que je souhaite affiché dans mon template.

Mon code Php

$smarty->assign("ListeProduits",$_SESSION["produits"]);
J'affecte un array issue de la session qui se nomme $_SESSION["produits"] quand j'essaye de le visualiser une fois dans mon template HTML pas de souci çà marche mais quand j'essaye de le visualiser une deuxième fois c'est à dire d'utiliser la variable $ListeProduits une deuxième fois çà ne marche pas.

Code HTML/Smarty
Code :
1
2
3
4
5
6
7
8
9
10
11
 
{foreach from=$ListeProduits item=ListeProduits}
<tr>
<td>
<input type="text" name="" value="{$ListeProduits.reference}" size="15" />
</td>
												<td>
<input type="text" maxlength="24" name="" value="{$ListeProduits.designation}" size="30"  />
</td>
</tr>	
{/foreach}
Est ce que çà veut dire que l'on ne peut utiliser que une seule fois dans notre template HTML une variable Smarty ?

Si quelqu'un a des idées.
Merci d'avance
moscovisci est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 17h53   #2
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
Essaie d'utiliser une balise {section}

Avec l'attribut start, tu lui indique de repartir à partir du debut de tableau.
Section sous smarty

Code :
1
2
3
4
5
6
7
{section name=foo start=10 loop=20 step=2}
{$smarty.section.foo.index}
{/section}
<hr />
{section name=bar loop=21 max=6 step=-2}
{$smarty.section.bar.index}
{/section}
Tchinkatchuk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 21h40   #3
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
salut,

perso je dirais que ca vient de là:

Code :
1
2
 
{foreach from=$ListeProduits item=ListeProduits}
il n'y a pas vraiment de raison (et surtout pas de raison logique) de nommer ta variable qui sera un item, avec le même nom que le tableau en lui même.

Ceci serait plus logique, et par la même occasion devrait enlever ton bug.
Code :
1
2
3
4
 
{foreach from=$ListeProduits item=produit}
  {$produit.reference}
{/foreach}
__________________
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h44.


 
 
 
 
Partenaires

Hébergement Web