add Template Toolkit plugins/extentions
This commit is contained in:
parent
1f750691c0
commit
587d494501
2 changed files with 114 additions and 0 deletions
25
lib/WebGUI/Template/Plugin/Macro.pm
Normal file
25
lib/WebGUI/Template/Plugin/Macro.pm
Normal 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;
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue