add Template Toolkit plugins/extentions

This commit is contained in:
Doug Bell 2011-05-17 15:20:17 -05:00
parent 1f750691c0
commit 587d494501
2 changed files with 114 additions and 0 deletions

View file

@ -0,0 +1,25 @@
package WebGUI::Template::Plugin::Macro;
use base 'Template::Plugin';
sub new {
my $config = ref($_[-1]) eq 'HASH' ? pop(@_) : { };
my ($class, $context) = @_;
my $session = $context->stash->{_session};
my $subs = {};
my $macros = $session->config->get("macros");
for my $macro ( keys %$macros ) {
my $package = "WebGUI::Macro::\u$macros->{macro}";
my $process = $package->can('process');
$subs->{$macro} = sub {
$process->($session, @_);
};
}
return $subs;
}
1;