22/03/2013, 16:41:05
Me revoilà ! J'ai trouvé une solution alternative à mon problème, grâce à ton aide, j'ai pu "bidouiller" ces scripts pour sortir quelque chose.
Voici mes 2 scripts :
{param_variables}
{recup_variable}
Et j'obtiens ce magnifique résultat :p :
C'est un peu gamin ce que j'ai fais mais j'ai obtenu ce que je voulais ... je suis sûr qu'il existe une fonction déjà prédéfini pour sortir un array d'une autre balise mais je n'ai rien trouvé .
Donc voilà! Je voulais savoir qu'est-ce que vous en pensez?
D'ailleurs, j'ai une dernière question, si je veux mettre plusieurs array dans la balise {param_variables}, comme par exemple :
Comment je fais pour récupérer séparement $disney et $ville depuis la balise {recup_variable}?
Je pensais qu'en rajoutant $smarty->assign(ville,$ville); ça marcherait mais vu que j'utilise $final_compiled, je l'ai dans l'os ...
Voici mes 2 scripts :
{param_variables}
Code :
[== PHP ==]
$test=array();
$test[]="bambi";
$test[]="panpan";
$test[]="méchant chasseur";
//----------------------------------------------------------------------------------------------
for ($i = 0; $i <= (count($test)-1); $i++) {
if ($i!=(count($test)-1)) {
$tableau .="$test[$i], ";
}
else {
$tableau .="$test[$i]";
}
}
global $gCms;
$smarty = &$gCms->GetSmarty();
return $tableau;
$smarty->assign(tableau,$tableau);
{recup_variable}
Code :
[== PHP ==]
global $gCms;
$smarty = &$gCms->GetSmarty();
$smarty_data = "{param_variables}";
$smarty->_compile_source('temporary template', $smarty_data, $_compiled );
@ob_start();
$smarty->_eval('?>' . $_compiled);
$final_compiled = @ob_get_contents();
@ob_end_clean();
echo "Le résultat est ".$final_compiled."<br>";
$test = explode(",", $final_compiled);
for ($i = 0; $i <= (count($test)-1); $i++) {
echo "Le résultat numéro ".$i." est ".$test[$i]."<br>";
}
Et j'obtiens ce magnifique résultat :p :
Citation :Le résultat est bambi, panpan, méchant chasseur
Le résultat numéro 0 est bambi
Le résultat numéro 1 est panpan
Le résultat numéro 2 est méchant chasseur
C'est un peu gamin ce que j'ai fais mais j'ai obtenu ce que je voulais ... je suis sûr qu'il existe une fonction déjà prédéfini pour sortir un array d'une autre balise mais je n'ai rien trouvé .
Donc voilà! Je voulais savoir qu'est-ce que vous en pensez?
D'ailleurs, j'ai une dernière question, si je veux mettre plusieurs array dans la balise {param_variables}, comme par exemple :
Code :
[== PHP ==]
$disney=array();
$disney[]="bambi";
$disney[]="panpan";
$disney[]="méchant chasseur";
$ville=array();
$ville[]="Bordeaux";
$ville[]="Grenoble";
$ville[]="Paris";
Comment je fais pour récupérer séparement $disney et $ville depuis la balise {recup_variable}?
Je pensais qu'en rajoutant $smarty->assign(ville,$ville); ça marcherait mais vu que j'utilise $final_compiled, je l'ai dans l'os ...