2010-03-17 29 views
5

Tengo un conjunto de rutas que quiero leer con Template Toolkit. ¿Cómo puedo acceder a los elementos de la matriz de esta matriz? La situación es la siguiente:¿Cómo puedo obtener elementos de una matriz con Template Toolkit?

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

Entonces me llaman la plantilla de página de esta manera:

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

En esta plantilla Quiero hacer un árbol de los directorios de la matriz. ¿Cómo puedo acceder a ellos?

Mi idea era empezar con un foreach en la plantilla de la misma familia

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

Respuesta

11

Utilizar referencias a pasar matrices o hashes en su plantilla:

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

Luego, en la plantilla:

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

De acuerdo. Siempre use referencias para matrices y hash –

+0

Excelente funcionó perfectamente. ¡Gracias! Tendrá en cuenta que siempre use referencias! – Przemek

Cuestiones relacionadas