2010-07-06 57 views
1

我使用框架使用與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實例的插件。

謝謝mohrt!

0

使用節來循環數組而不是foreach。文檔中應該有示例來幫助您處理循環問題。
http://www.smarty.net/manual/en/language.function.section.php

+0

是的,但循環本身並不是問題,它是如何捕獲自定義函數的返回值,並在smarty構造中使用它... – 2010-07-06 10:10:51

+0

ow以及部分在Smarty 3中遞減。 - ) – 2010-07-06 10:12:39