Bonjour à tous,
J'ai un problème qui peut être simple s'il a été implémenté sous Smarty
En fait, pour résumer, on va dire que je souhaite avoir une liste de 5 fichiers (le nombre est défini statiquement).
S'ils existent, alors je les affiche
S'ils n'existent pas, alors j'affiche un lien permettant de les ajouter
En gros, cela me donnerait, avec les fichiers 2 et 4 existant :
Le problème est que je n'arrive pas à forcer Smarty à faire 5 passage, ou, si j'y arrive, je n'arrive pas à récuperer mes bonnes valeurs car je n'arrive pas à itérer le curseur dans mon template : j'ai ces deux codes qui ne fonctionne que partiellement :Fichier 1 : Ajouter un fichier
Fichier 2 : Voici le fichier 2
Fichier 3 : Ajouter un fichier
Fichier 4 : Voici le fichier 4
Fichier 5 : Ajouter un fichier
Qui vont me donner à l ecran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 {section name=test2 loop=5} {if $fichier2.nom != ""} Fichier {$fichier.id} : {$fichier.nom} <br/> {else} Pas de fichier {$fichier.id} : enregistrer un fichier <br/> {/if} Incr : {$smarty.section.test2.iteration}<br/> Test du nom : $fichier{$smarty.section.test2.iteration}.nom<br /> {/section} <p>*****</p> {foreach item=fichier2 from=$fichier2} {if $fichier2.nom != ""} Fichier {$fichier2.id} : {$fichier2.nom} <br/> {else} Pas de fichier {$fichier2.id} : enregistrer un fichier <br/> {/if} {/foreach}
Pour info, mon $fichier2 correspond à un tableau associatif traité dans le modèlePas de fichier 5 : enregistrer un fichier
Test du nom : $fichier1.nom
Pas de fichier 5 : enregistrer un fichier
Test du nom : $fichier2.nom
Pas de fichier 5 : enregistrer un fichier
Test du nom : $fichier3.nom
Pas de fichier 5 : enregistrer un fichier
Test du nom : $fichier4.nom
Pas de fichier 5 : enregistrer un fichier
Test du nom : $fichier5.nom
*****
Fichier 2 : nom2
Fichier 4 : nom4
Le problème de mon premier exemple est donc que mon curseur n'est jamais réinitialisé, et donc je ne récupère que la valeur du dernier enregistrement
Le problème de mon deuxième exemple est que je ne passe que 2 fois dans ma boucle, vu que je n'ai que deux valeurs dans ma base...
Comment joindre les deux?![]()
Partager