IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] nom de variable composé d'une chaîne et d'une variable


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut [Smarty] nom de variable composé d'une chaîne et d'une variable
    Bonsoir,

    Avec Smarty, est-il possible de créer une variable dynamiquement ?
    Comme on peut le faire en php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $var = 'hello';  
    $hello = 'Coucou';  
    echo ${$var};  
    ?>
    Ce qui affiche 'Coucou'


    Voici ce que je voudrais faire :

    Dans mon code php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $objTemplate->assign('_LANG_PGSTATUT_LBL1',$_translations['_LANG_PGSTATUT_LBL1']) ;
    $objTemplate->assign('_LANG_PGSTATUT_LBL2',$_translations['_LANG_PGSTATUT_LBL2']) ;
    $objTemplate->assign('_LANG_PGSTATUT_LBL3',$_translations['_LANG_PGSTATUT_LBL3']) ;
    dans mon template :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <label for="page_status">Langue :</label> 
    <select id="page_status" name="page_status">
    {foreach from=$pageStatus item=status}
    	<option value="{$status}">{'_LANG_PGSTATUT_LBL'+$status  }</option>
    {/foreach}
    </select>
    En gras, c'est que j'ai essayé de faire

    Je voudrais obtenir {$_LANG_PGSTATUT_LBL1}, {$_LANG_PGSTATUT_LBL2}, ...

    J'ai regardé dans l'aide et sur le forum de smarty mais sans résultat, auriez-vous une idée à me proposer ?

    Merci,

    Philippe

  2. #2
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut
    D'après ce post http://www.phpinsider.com/smarty-for...ht=dynamic+var, Il est bien possible de créer dynamiquement le nom d'une variable mais par contre il n'est pas possible d'accéder à la variable dont le nom est créé dynamiquement, Smarty ne connait pas ce concept.

    tanpis, je vais procéder autrement...

    Phil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Déclarer une chaîne de caractères comme nom de variable
    Par JibRD dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 29/12/2017, 16h54
  2. [Visual I/O] Transformer une chaîne de caractères en un nom de variable
    Par GlaD69 dans le forum Autres IDE
    Réponses: 0
    Dernier message: 20/09/2012, 16h13
  3. utilisé une chaine comme un nom de variable sous delphi ?
    Par hatem_info dans le forum Langage
    Réponses: 3
    Dernier message: 11/10/2005, 16h22
  4. Nom de variable dans une autre variable
    Par lsdInside dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2004, 19h36
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo