Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3010 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Smarty, creation de variables de conf {#var#} dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Smarty, creation de variables de conf {#var#} dynamique

n°2089743
gatsu35
Blablaté par Harko
Posté le 17-07-2011 à 02:05:00  profilanswer
 

Yo all, je mets ça dans PHP même si c'est du smarty.
J'ai un problème un peu chiant en attendant pour y remédier je passe par un eval dans smarty, mais je suis sur qu'il y a forcément une solution beaucoup plus propre.
 
Je m'explique :  
Je gère le site de façon à ce qu'il soit multilingue, donc en fonction de la langue je charge un fichier .conf différent.
Dans le template .tpl, on se retrouve du coup avec des variables comme ça :  
 

Code :
  1. {#variable1#}


 
Pour mon menu qui est fixe, je gère récupères les catégories depuis une base, dans la base ce sont les identifiant des catégories. Donc au final dans le .tpl j'ai fait :

Code :
  1. <li>{#nav_identifiantcategory}</li>


Dans ce code la partie dynamique est identifiantcategory. J'ai chercher à pouvoir générer une variable de configuration pour qu'elle puisse être ensuite remplacée par le texte associé, mais je n'ai rien trouvé. Donc en attendant j'ai fait une solution sale :  
Ca marche mais je n'en suis pas fière.

Code :
  1. {eval var="{ldelim}#nav_`$cat->title`#{rdelim}"}


donc au final si $cat->title vaut "bidule", ce code génère :  

Code :
  1. <li>{#nav_bidule}</li>


 
 
Je suis preneur de toute solution moins sale :o


---------------
Blablaté par Harko
mood
Publicité
Posté le 17-07-2011 à 02:05:00  profilanswer
 

n°2089744
gatsu35
Blablaté par Harko
Posté le 17-07-2011 à 02:13:28  profilanswer
 

Je me répond à moi même :  
En fouillant de plus près la page sur les variables de la doc de smarty :  
 
J'ai trouvé une solution toute conne, une variable de confi peut être atteinte par :  

Code :
  1. {$smarty.config.mavar}


qui peut aussi s'écrire :  

Code :
  1. {$smarty.config["mavar"]}


Du coup il suffit de gérer simplement la concaténation et on obtient :  

Code :
  1. {$smarty.config["nav_`$cat->title`"]}


 
Donc voili voilou, ça servira peut-être à quelqu'un un de ces jours :o


---------------
Blablaté par Harko

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Smarty, creation de variables de conf {#var#} dynamique

 

Sujets relatifs
parser en ligne du contenu dynamiqueProblème création base de données relationnelle sur Access
Générer un pdf à partir d'un tableau croisé dynamique[Batch] Création dossier
Creation d'un menu dynamiquefeuille de calcul dynamique dans une page html
[Résolu] Création d'un tableau imbriqué à partir d'un tableau simpleAfficher 2 variables en format heure dans la même cellule??
Smarty traduction dans wifidog 
Plus de sujets relatifs à : Smarty, creation de variables de conf {#var#} dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR