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

NAME

Apache2::WebApp::Template - Interface to the Template Toolkit

SYNOPSIS

  $c->template->method( ... );

DESCRIPTION

A persistent template object that provides methods of the Template Toolkit that are accessible from within your web application using %controller. Template options can be easily configured in your project webapp.conf

EXAMPLES

Template processing

CONFIG

  [template]
  cache_size   = 100                                # total files to store in cache
  compile_dir  = /path/to/project/tmp/templates     # path to template cache
  include_path = /path/to/project/templates         # path to template directory
  stat_ttl     = 60                                 # template to HTML build time (in seconds)
  encoding     = utf8                               # template output encoding

METHOD

  sub _default {
      my ($self, $c) @_;

      $c->request->content_type('text/html');

      $c->template->process(
          'file.tt', {
              foo => 'bar',
              baz => qw( bucket1 bucket2 bucket3 ),
              qux => {
                  key1 => 'value1',
                  key2 => 'value2',
                  ...
              },
              ...
          }
        )
        or $self->_error($c, 'Template process failed', $c->template->error() );

      exit;
  }

TEMPLATE

  [% foo %]

  [% FOREACH bucket = baz %]
      [% bucket %]
  [% END %]

  [% qux.key1 %]
  [% qux.key2 %]

SEE ALSO

Apache2::WebApp, Template::Manual::Syntax, Template::Manual::Directives, Template::Manual::Variables, Template::Manual::Filters, Template::Manual::VMethods

AUTHOR

Marc S. Brooks, <mbrooks@cpan.org> http://mbrooks.info

COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/artistic.html