2010-01-21 48 views
0

am我正確地認爲你不能在循環之外從循環外部訪問變量?Dwoo - 您可以在循環時訪問其他變量嗎?

例如:

{$循環} nav_header
<li><a href="{$link}"><img src="{$template.imagefolder}/{$icon}" width="48" height="48" border="0" alt="{$title}" /><br />{$title}</a></li>
{/循環}

在那裏我試圖用$ template.imagefolder(作爲一個例子)從循環之外?

你的,
克里斯

回答

2

(複製從http://forum.dwoo.org/viewtopic.php?id=617我的答案以供將來參考)

嗯,可以,但你要知道你想要什麼..

$ nav_header是一個數組,因此您可以通過執行{$ nav_header.0.template.imagefolder}來從以外的訪問該數組,這將爲您提供數組第一項所需的內容。

如果你想內訪問來自頂層變量的循環,也就是說,如果你有$路徑,並在主數據節點$ nav_header,你會做{$ _。路徑},這是相當於{$ _parent.path}

另一種方法,如果你不知道在數組中完全看到的地方,那就是在循環時保存一個變量,然後就可以從中取出它,但目前您無法指定到父範圍,因此您應該使用foreach,因爲它不會移動範圍,即:

{foreach $nav_header elem} 
    <li><a href="{$elem.link}"><img src="{$elem.template.imagefolder}/{$elem.icon}" width="48" height="48" border="0" alt="{$elem.title}" /><br />{$elem.title}</a></li> 
    {if $elem.title == "foo"}{$folder = $elem.template.imagefolder}{/if} 
{/foreach} 

{$folder} 

希望這有助於。