Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Utiliser une balise utilisateur dans une autre.
#14
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}
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é Sad .

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 ...


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)