Php 指定自定义函数返回值并在循环中使用

Php 指定自定义函数返回值并在循环中使用,php,smarty,Php,Smarty,我将CodeIgniter框架与Smarty一起使用,并使用一个自定义Smarty函数返回配置项: {ci_config name='sitemap'} 此调用返回一个多维数组,其中包含网站站点地图: $config['sitemap'] = array('dashboard' => array('uri'=>'dashboard', 'title'=>'Dashboard'),

我将CodeIgniter框架与Smarty一起使用,并使用一个自定义Smarty函数返回配置项:

{ci_config name='sitemap'}
此调用返回一个多维数组,其中包含网站站点地图:

$config['sitemap'] = array('dashboard' => array('uri'=>'dashboard',
                                                'title'=>'Dashboard'),
                           'photos' => array('uri'=>'photos',
                                             'title'=>'Photos'));
注意:这是一个示例数组,实际数组实际上是多级数组

我想循环此数组,但如何在循环构造中使用返回值

虽然错了,但这是我想要实现的目标:

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

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

{/foreach} 
{foreach{ci_config name='sitemap'}作为$node}
{$node.uri}

{/foreach}
有什么建议吗?谢谢


注意:我使用的是最新的Smarty 3 RC2。

使用section而不是foreach循环数组。文档中应该有帮助您处理循环问题的示例。

来自Smarty论坛的用户“mohrt”发布了以下好消息:

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

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

{/foreach}
{ci_config name=“sitemap”assign=“map”}
{foreach$map as$node}
{$node.uri}

{/foreach}
还要确保您的ci_配置插件 支持分配属性

只需确保使用Smarty实例在自定义函数或插件中分配变量


谢谢莫特

是的,但循环本身并不是问题所在,问题在于如何捕获自定义函数的返回值,并在smarty构造中使用它……此外,smarty 3中还介绍了该节。谢谢;-)