Как я могу получить элементы из массива с помощью Template Toolkit? - PullRequest
5 голосов
/ 17 марта 2010

У меня есть массив путей, которые я хочу прочитать с помощью Template Toolkit. Как я могу получить доступ к элементам массива этого массива? Ситуация такая:

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 в шаблоне, как это

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

1 Ответ

11 голосов
/ 17 марта 2010

Используйте ссылки для передачи массивов или хэшей в ваш шаблон:

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

Тогда в шаблоне:

[% FOR d = Tree %]
    [% d %]
[% END %]
...