use Template; use strict; use warnings; my $t = Template->new; my @nodes = ( {name => "one"}, {name => "two", children => [ {name => "red"}, {name => "green"} ] }, {name => "three", children => [ {name => "blah", children => [ {name => "yakko" }, {name => "wacko" }, {name => "dot" } ] } ] } ); $t->process("rec.tt", { nodes => \@nodes } );
And the template:
[% VIEW nested_list %] [% BLOCK list %] <ul> [% FOREACH i IN item %] <li>[% i.name %]</li> [% IF i.children %] [% view.print(i.children.list) %] [% END %] [% END %] </ul> [% END %] [% END %] [% nested_list.print(nodes) %]
And that outputs:
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Recursively display nested lists with Mason
by jeffa (Bishop) on Aug 29, 2006 at 15:42 UTC | |
|
Re: Recursively display nested lists with Template Toolkit
by jasonk (Parson) on Sep 01, 2006 at 01:05 UTC | |
by friedo (Prior) on Sep 01, 2006 at 01:29 UTC | |
|
Re: Recursively display nested lists with Template Toolkit
by denny (Novice) on Jun 06, 2009 at 10:34 UTC | |
|
Re: Recursively display nested lists with Template Toolkit
by ferz (Initiate) on Mar 24, 2012 at 19:57 UTC |