Bonjour je viens de faire un formulaire avec une gestion des thèmes grâce à au moteur de template phpbb.

J'ai voulu mettre la génération des menus déroulants dans une fonction, car j'en ai pas mal, mais c'est pas parce que mon bout de code marchait hors fonction, qu'il allait s'adapter sans râler. (^^)

Voilà le code d'origine qui marche mais que j'ai pas trop envie de le coller vingt fois dans ma page.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
foreach ($marque as $key => $value)
{
$selected = ($key == @$_SESSION['marque']) ? 'selected="selected"' : '';
$template->assign_block_vars('pre_marque.marque_opt', array(
'OPTION' =>$value,
'VALUE' =>$key,
'SELECTED' =>$selected,
));
}
Et voilà la fonction qui ne veut pas rouler.

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
 
function TableauSelect($tableau,$valeur,$nom)
  {
     foreach ($tableau as $key => $value)
       {
          $selected = ($key == $valeur) ? 'selected="selected"' : ''; 
          $template->assign_block_vars($nom, array(
              'OPTION' =>$value,
              'VALUE' =>$key,
              'SELECTED' =>$selected,
          ));
       }      
  }
 
TableauSelect($marque, @$_SESSION["marque"],'pre_marque.marque_opt');
le problème c'est ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$template->assign_block_vars($nom, array( ));
Si j'ai bien compris, il s'agit d'une class et je n'arrive pas a faire en sorte que ma fonction de s'initialise qu'une fois la class lancée par le bout de code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$template = new Template('./theme');
$template->set_filenames(array('index' => 'index.tpl'));
Je débute en php et là je suis vraiment dans l'impasse...

Si quelqu'un peu me mettre sur la voie, merci à lui.