(Копирование моего ответа из http://forum.dwoo.org/viewtopic.php?id=617 для дальнейшего использования)
Ну, вы можете, но вы должны точно знать, что вы хотите ..
$ nav_header isмассив, чтобы вы могли получить к нему доступ из вне цикла, выполнив, например, {$ nav_header.0.template.imagefolder}, который даст вам то, что вы хотите для первого элемента массива.
Если вы хотите получить доступ к переменной верхнего уровня из в цикле, т.е. если у вас есть $ path и $ nav_header в вашем главном узле данных, вы должны сделать {$ _. Path},что эквивалентно {$ _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}
Hopeэто помогает.