The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Apache2::DirBasedHandler::TT - TT hooked into DirBasedHandler

VERSION

This documentation refers to <Apache2::DirBasedHandler::TT> version 0.03

SYNOPSIS

  package My::Thingy;

  use strict;

  use Apache2::DirBasedHandler::TT
  our @ISA = qw(Apache2::DirBasedHandler::TT);

  use Apache2::Const -compile => qw(:common);

  sub root_index {
      my $self = shift;
      my ($r,$uri_args,$args) = @_;

      if (@$uri_args) {
          return Apache2::Const::NOT_FOUND;
      }
      $$args{'vars'}{'blurb'} = qq[this is the index];

      return $self->process_template(
          $r,
          $$args{'tt'},
          $$args{'vars'},
          qq[blurb.tmpl],
          qq[text/plain; charset=utf-8],
      );
  }
  
  sub super_page {
      my $self = shift;
      my ($r,$uri_args,$args) = @_;
      $$args{'vars'}{'blurb'} = qq[this is \$location/super and all it's contents];

      return $self->process_template(
          $r,
          $$args{'tt'},
          $$args{'vars'},
          qq[blurb.tmpl],
          qq[text/plain; charset=utf-8],
      );
  }

  sub super_dooper_page {
      my $self = shift;
      my ($r,$uri_args,$args) = @_;
      $$args{'vars'}{'blurb'} = qq[this is \$location/super/dooper and all it's contents];

      return $self->process_template(
          $r,
          $$args{'tt'},
          $$args{'vars'},
          qq[blurb.tmpl],
          qq[text/plain; charset=utf-8],
      );
  }

  1;

DESCRIPTION

Apache2::DirBasedHandler::TT, is an subclass of Apache2::DirBasedHandler with modified to allow easy use of Template Toolkit templates for content generation.

init

init calls get_tt to get the template object, and stuffs it into the hash it gets back from the super class.

get_tt

get_tt returns a Template Toolkit object, and a hash reference of variables which will be passed into the TT process call. You should really override this function with to create the Template object appropriate to your environment.

process_template

process_template is a helper function to generate a page based using the template object, variables, and template passed in. It sets the content_type of the response to the value of the fifth argument.

DEPENDENCIES

This module requires modperl 2 (http://perl.apache.org), and libapreq (http://httpd.apache.org/apreq/) which must be installed seperately. It also depends on Apache2::DirBasedHandler

INCOMPATIBILITIES

There are no known incompatibilities for this module.

BUGS AND LIMITATIONS

There are no known bugs in this module. Please report any problems through

http://rt.cpan.org/Public/Dist/Display.html?Name=Apache2-DirBasedHandler-TT

AUTHOR

Adam Prime (adam.prime@utoronto.ca)

LICENSE AND COPYRIGHT

Copyright (c) 2008 by Adam Prime (adam.prime@utoronto.ca). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.