2010-03-17 14 views
5

Mam tablicę ścieżek, które chcę odczytać za pomocą Template Toolkit. Jak mogę uzyskać dostęp do elementów tablicy tej tablicy? Sytuacja jest taka:Jak mogę pobrać elementy z tablicy za pomocą Template Toolkit?

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

Potem zadzwoń do szablonu strony tak:

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

W tym szablonie chcę zrobić drzewo katalogów w tablicy. Jak mogę uzyskać do nich dostęp?

Mój pomysł był zacząć foreach w szablonie takie jak ta

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

Odpowiedz

11

używać odwołań do przekazywania tablic lub skróty do szablonu:

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

Następnie w szablonie:

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

Uzgodnione. Zawsze używaj referencji dla tablic i haszy –

+0

Świetnie to działało idealnie. Dziękuję Ci! Będziemy pamiętać, aby zawsze używać referencji! – Przemek