代码之家  ›  专栏  ›  技术社区  ›  Sander Versluys

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

  •  1
  • Sander Versluys  · 技术社区  · 14 年前

    代码点火器 框架 聪明的 并使用自定义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} 
    

    有什么建议吗?谢谢!

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Sander Versluys    14 年前

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

    {ci_config name="sitemap" assign="map"} 
    {foreach $map as $node} 
    
    <p>{$node.uri}</p> 
    
    {/foreach}
    

    支持assign属性

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

    只需确保在自定义函数或带有Smarty实例的插件中分配变量。

        2
  •  0
  •   Thomas Winsnes    14 年前

    使用section而不是foreach循环数组。文档中应该有一些例子来帮助您处理循环问题。
    http://www.smarty.net/manual/en/language.function.section.php