2010-01-21 7 views
0

루프를 반복하는 동안 루프 밖에서 변수에 액세스 할 수 없다고 생각합니까?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}를 수행하면 배열의 첫 번째 항목에 대해 원하는 것을 얻을 수 있습니다.

에서 최상위 변수에 액세스하려는 경우 루프는입니다. 즉, 주 데이터 노드에서 $ 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} 

희망이 도움이됩니다.

관련 문제