my $template = $box->{template};
next if !$rs || !$template;
- if ($tt->process(\$template, {items => $rs}, \$result)) {
+ my $vars = {items => $rs};
+
+ # register helpers
+ $vars->{helpers} = {};
+ my $helpers = $c->helpers;
+ for my $helper (keys %$helpers) {
+ my $f = $helpers->{$helper};
+ if (ref($f) eq 'CODE') {
+ $vars->{helpers}->{$helper} = sub { $helpers->{$helper}->($c, @_); };
+ }
+ else {
+ $vars->{helpers}->{$helper} = $helpers->{$helper};
+ }
+ }
+
+ if ($tt->process(\$template, $vars, \$result)) {
push @$items, { type => $box->{type}, name => $box->{name}, contents => $result };
}
}