[Catalyst] Re: How to use self made Template Toolkit plugins?

kakimoto at tpg.com.au kakimoto at tpg.com.au
Mon Jun 1 11:02:12 GMT 2009

hi there,
  how do I access the Catalyst variable in a custom made Template
Toolkit plugin?

WhaT I have done: read up on

For example, I have my own plugin, "package

use strict;
use warnings;
use base 'Template::Plugin';
use Template::Plugin;
use DateTime;
use DateTime::Format::Pg;

sub load {
    my ( $class, $context ) = @_;
    return $class;

sub new { 
    my ( $class, $context, @params ) = @_;

    bless { _CONTEXT => $context, }, $class;   # returns blessed
MyPlugin object
sub get_current_user
    my ($class, $c) = @_;

    $c->log->debug( "The type is " . ref ($c));

    return $c->session->{'active_user'} ? $c->session->{'active_user'} :


And in my template toolkit, "display_user.tt2" I do something like:

[% current_user = User.get_current_user(Catalyst) %]
THE current user is ([% current_user %])....

I noticed that myApp::View::Template::Plugin::User->get_current_user
doesn't print out any values.
I suspect it has not even been able to recognise the Catalyst variable.

 I even tried doing "[% current_user = User.get_current_user( $Catalyst
) %]" in the display_user.tt2 template file.

 Please help :)

K. akimoto

More information about the Catalyst mailing list