2010-03-17 3 views
5

Template Toolkit을 사용하여 읽으려는 Paths 배열이 있습니다. 배열에 액세스하려면 어떻게해야합니까?이 배열의 요소는 무엇입니까? 상황은 이것이다 : 템플릿 툴킷을 사용하여 요소를 배열 밖으로 가져올 수 있습니까?

my @dirs; 
opendir(DIR,'./directory/') || die $!; 
@dirs = readdir(DIR); 
close DIR; 
$vars->{'Tree'} = @dirs; 

그런 다음 나는이 같은 템플릿 페이지를 호출

$template->process('create.tmpl', $vars) 
    || die "Template process failed: ", $template->error(), "\n"; 

내가 배열에있는 디렉토리의 트리를 만들고 싶어이 템플릿에서. 어떻게 액세스 할 수 있습니까?

내 생각은 배열을 전달하는이

[% FOREACH dir IN Tree.dirs %] 
$dir 
[% END %] 

답변

11

사용 참조 같은 템플릿에 foreach로 시작하는 것이 었 또는 템플릿에 해시 :

: 템플릿에 그런

$vars->{'Tree'} = \@dirs; 

[% FOR d = Tree %] 
    [% d %] 
[% END %] 
+0

동의. 항상 배열과 해시에 대한 참조를 사용하십시오. –

+0

위대한 코드는 완벽하게 작동했습니다. 고맙습니다! 항상 참고 문헌을 사용하는 것을 명심하십시오! – Przemek

관련 문제