2010-07-06 3 views
1

Я использую рамки CodeIgniter с Smarty и использовать пользовательскую функцию, которая возвращает Smarty конфигурационные элементы:Присвоить пользовательские функции Возвращаемое значение и использование в цикле

{ci_config name='sitemap'} 

Этот вызов возвращает многомерный массив, содержащий сайты карта сайта:

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

Примечание: это пример массива, то ACTU аль массив будет действительно многоуровневой

Я хотел бы цикла этого массив но как использовать возвращаемое значение в циркуляционном конструкции?

Хотя неправильно, это то, что я хотел бы достичь:

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

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

{/foreach} 

Любые предложения? Благодаря!

Примечание: Я использую новейший Smarty 3 RC2.

ответ

2

пользователя mohrt 'из форума Smarty опубликовал следующий хороший anwser:

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

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

{/foreach} 

также убедитесь, что ваш ci_config плагин поддерживает присвойте атрибут

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

Просто убедитесь, что assig n переменная в вашей пользовательской функции или плагина с экземпляром Smarty.

Thanks mohrt!

0

использовать секцию для прокрутки массива вместо foreach. В документации должны быть примеры, которые помогут вам справиться с проблемой цикла.
http://www.smarty.net/manual/en/language.function.section.php

+0

Да, но сам цикл не является проблемой, это то, как захватить возвращаемое значение пользовательской функции и использовать ее в конструкции smarty ... –

+0

ow, а также раздел вырезано в Smarty 3. спасибо; -) –

Смежные вопросы