Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Creer dynamiquement des variables dans un template

Posted by Damien on 09/17/2008 12:12

Bonjour,

Voilà, j'aimerais savoir, si il est possible de créer dynamiquement une variable dans un template. Je m'explique :

Dans mon contrôleur, je créé à l'aide d'une boucle for, mes variables:

 for ($i=1; $i < $nbMatch; $i++)
 {
  $tpl->assign('equipe_ext'.$i, $this->intParam('equipe_ext'.$i, NULL));
 }

Dans mon template, j'aimerais pouvoir afficher ces variables.

En temps normal (sans l'utilisation de jelix) il suffit de faire :

 <?php
 $equipe_ext = 'equipe_ext';
 for ($i=1; $i < $nbMatch; $i++)
 {
  echo ${$equipe_ext.$i};
 }
 ?>

ou encore,

 <?php
 $equipe_ext = 'equipe_ext';
 for ($i=1; $i < $nbMatch; $i++)
 {
  $test = $$equipe_ext.$i;
  echo $$test;
 }
 ?>

Malheureusement, cela ne marche pas dans un template. Je voudrais savoir si il y a une autre solution pour pouvoir le faire.

Merci d'avance.

  [Opened] Re: Creer dynamiquement des variables dans un template

Reply #1 Posted by laurentj on 09/17/2008 14:11

pourquoi tu n'utilises pas un tableau tout simplement ??

Tu sais que dans un formulaire html avec php, tu pourrais donner un nom comme ceci :

  <input name="equipe_ext[1]" />

et tu reçois alors un tableau equipe_ext ? Tu n'aurais plus qu'à faire :

 $tpl->assign('equipe_ext', $this->param('equipe_ext', array()));

Et simplifierai largement ton template...

 
Page
  1. Re: php dans un template >
  2. Re: Creer dynamiquement des variables dans un template