2011-09-10 9 views
0

J'essaie d'utiliser une des fonctions CodeIgniter avec smarty dont le nom de la variable est Dynamic.
eval dans smarty/codeigniter

normalement la fonction est appelée comme ceci:

{set_value(aaa, $f_aaa} <br> 

mais dans mon code aaa est remplacé par une valeur dynamique

première partie est facile:

{set_value($row->Field, $f_aaa} <br> 

mais Je ne sais pas comment utiliser Eval dans smarty pour cette situation.

il doit appeler la fonction avec une boucle (ex avec entrée/variable suivante)

{set_value(name, $f_name} 

{set_value(address, $f_address} 

modifier: J'oubliais de dire la fonction native de PHP eval ne fonctionne pas à l'intérieur Smarty .. il est montrant erreur suivant :

unknown function "eval"' 
+3

Pourquoi utilisez-vous smarty? Utilisez simplement des vues CI régulières, vous pouvez utiliser du code PHP direct sans cette affaire de singe 'eval()'. Et ce sera aussi plus rapide, avec peu d'impact sur la lisibilité. – NullUserException

+0

Je pense que vous avez raison :(:) – user861587

Répondre

4

eval n'est pas une fonction - il est construit de la langue et il ne peut pas être appelé Smarty manière appelle les fonctions normales.

1

Si vous souhaitez utiliser aide de CI à l'intérieur Smarty, jetez un oeil à ce plugin Smarty

https://github.com/fadillzzz/Smarty-CI-Helper/

Il vous donnera la possibilité d'appeler une aide de CI fonctions des templates Smarty utilisant la syntaxe Smarty