2010-08-05 33 views
0

J'ai une question simple. J'ai besoin d'ajouter 1,2,3 etc. à un nom de variable dans smarty. Les variables sont $user1, $user2, $user3 etc. J'utilise Smarty pour faire une boucle simple comme ceci:ajouter le numéro au nom de la variable et l'appeler en boucle (php) (smarty)

 {section name=user_info start=1 loop=$users} 
     <tr> 
     <td> User{$smarty.section.user_info.index} </td> // prints user1, user2, user3 etc 

     <td> 
     {$user} append this: {$smarty.section.user_info.index} // need to call $userX 
     </td> 

     </tr> 
    {/section} 

J'ai tout essayé sur le variable info site to smarty.

Répondre

2

Faire $user un tableau d'index numérique au lieu de déclarer une variable pour chaque utilisateur que vous avez maintenant (user1 $, utilisateur2 $, USER3 $) et vous pouvez utiliser:

{$foo.$bar} < - variable d'affichage valeur clé d'un tableau, similaire à PHP $foo[$bar]

Selon Smarty Variables manual

converti Une fois que ce serait comme:

$user = array(
    0 => $user0, 
    1 => $user1, 
); 

Donc, dans votre cas, il serait {$user.$smarty.section.user_info.index}.