Apache2-DirBasedHandler-TT

 view release on metacpan or  search on metacpan

lib/Apache2/DirBasedHandler/TT.pm  view on Meta::CPAN

package Apache2::DirBasedHandler::TT;

use strict;
use warnings;

use base qw(Apache2::DirBasedHandler);

use Template;
our $tt;
our $VERSION = 0.03;

sub init {
    my ($self,$r) = @_;
    my $hash = $self->SUPER::init($r);
    my ($tt,$vars) = $self->get_tt($r);
    $hash->{'tt'} = $tt;
    $hash->{'vars'} = $vars;
    return $hash;
}

sub get_tt {
    my $self = shift;
    my $r = shift;

    $tt ||= Template->new({
        'INCLUDE_PATH' => [$r->document_root],
    });

    my $vars = {};
    if ($r) {
        $vars->{'r'} = $r;
    };

    return ($tt,$vars);
}

sub process_template {
    my ($self,$r,$tt,$vars,$template_name,$content_type) = @_;
    my $page_out;
    if (!$tt->process($template_name, $vars, \$page_out)) {
        $r->log_error($template_name . q[ ] . $tt->error);
        return Apache2::Const::SERVER_ERROR;
    }

    return (Apache2::Const::OK,$page_out,$content_type);
}

1;

__END__

=head1 NAME

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

=head1 VERSION

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

=head1 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) = @_;



( run in 2.530 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )