2010-07-06 4 views
1

J'utilise le cadre CodeIgniter avec Smarty et utiliser une fonction Smarty personnalisée qui renvoie les éléments de configuration:valeur Attribuer de retour de fonction personnalisée et utiliser dans la boucle

{ci_config name='sitemap'} 

Cet appel renvoie un tableau multidimensionnel contenant les sites sitemap:

$config['sitemap'] = array('dashboard' => array('uri'=>'dashboard', 
               'title'=>'Dashboard'), 
          'photos' => array('uri'=>'photos', 
              'title'=>'Photos')); 

note: Ceci est un tableau d'exemple, l'actu tableau al sera vraiment à plusieurs niveaux

Je voudrais boucle ce tableau mais comment puis-je utiliser la valeur de retour dans une boucle construction?

Bien que mal, ce que je voudrais obtenir:

{foreach {ci_config name='sitemap'} as $node} 

<p>{$node.uri}</p> 

{/foreach} 

Toutes les suggestions? Merci!

Remarque: J'utilise le dernier Smarty 3 RC2.

Répondre

2

utilisateur 'Mohrt' du forum Smarty affiché suivant un bon anwser:

{ci_config name="sitemap" assign="map"} 
{foreach $map as $node} 

<p>{$node.uri}</p> 

{/foreach} 

Assurez-vous également que votre plugin ci_config prend en charge l'attribut assign

http://www.smarty.net/forums/viewtopic.php?t=17655

Assurez-vous juste d'assig n la variable de votre fonction personnalisée ou de votre plugin avec l'instance Smarty.

Merci à mohrt!

0

utilisez la section pour faire une boucle dans le tableau à la place de foreach. Il devrait y avoir des exemples dans la documentation pour vous aider à résoudre le problème de bouclage.
http://www.smarty.net/manual/en/language.function.section.php

+0

oui, mais la boucle elle-même n'est pas le problème, c'est comment capturer la valeur de retour de la fonction personnalisée et l'utiliser dans une construction intelligente ... –

+0

et aussi, section est décrémentée dans Smarty 3. merci; -) –

Questions connexes