NAME
Mojolicious::Plugin::TemplateToolkit - Template Toolkit renderer plugin
for Mojolicious
SYNOPSIS
# Mojolicious
$app->plugin('TemplateToolkit');
$app->plugin(TemplateToolkit => {name => 'foo'});
$app->plugin(TemplateToolkit => {template => {INTERPOLATE => 1}});
# Mojolicious::Lite
plugin 'TemplateToolkit';
plugin TemplateToolkit => {name => 'foo'};
plugin TemplateToolkit => {template => {INTERPOLATE => 1}});
# Set as default handler
$app->renderer->default_handler('tt2');
# Render without setting as default handler
$c->render(template => 'bar', handler => 'tt2');
DESCRIPTION
Mojolicious::Plugin::TemplateToolkit is a renderer for tt2 or Template
Toolkit templates. See Template and Template::Manual for details on the
Template Toolkit format, and Mojolicious::Guides::Rendering for general
information on rendering in Mojolicious.
Along with template files, inline and data section templates can be
rendered in the standard Mojolicious fashion. Template files and data
sections will be retrieved using Mojolicious::Renderer via
Template::Provider::Mojo for both direct rendering and directives such
as INCLUDE. This means that instead of specifying INCLUDE_PATH, you
should set "paths" in Mojolicious::Renderer to the appropriate paths.
$app->renderer->paths(['/path/to/templates']);
push @{$app->renderer->paths}, '/path/to/more/templates';
Mojolicious stash values will be exposed directly as variables in the
templates, and the current controller object will be available as c or
self, similar to Mojolicious::Plugin::EPRenderer. Helper methods can be
called on the controller object or a more efficient proxy object
available as h. See Mojolicious::Plugin::DefaultHelpers and
Mojolicious::Plugin::TagHelpers for a list of all built-in helpers.
Accessing helper methods directly as variables, rather than via the
controller or proxy object, is deprecated and may be removed in a
future release.
$c->stash(description => 'template engine');
$c->stash(engines => [qw(Template::Toolkit Text::Template)]);
[% FOREACH engine IN engines %]
[% engine %] is a [% description %].
[% END %]
[% h.link_to('Template Toolkit', '
http://www.template-toolkit.org') %]
[% c.param('foo') %]
OPTIONS
Mojolicious::Plugin::TemplateToolkit supports the following options.
name
# Mojolicious::Lite
plugin TemplateToolkit => {name => 'foo'};
Handler name, defaults to tt2.
template
# Mojolicious::Lite
plugin TemplateToolkit => {template => {INTERPOLATE => 1}};
Configuration values passed to Template object used to render
templates. Note that Template::Provider::Mojo will use "paths" in
Mojolicious::Renderer to find templates, not INCLUDE_PATH specified
here.
METHODS
Mojolicious::Plugin::TemplateToolkit inherits all methods from
Mojolicious::Plugin and implements the following new ones.
register
$plugin->register(Mojolicious->new);
$plugin->register(Mojolicious->new, {name => 'foo'});
Register renderer in Mojolicious application.
BUGS
Report any issues on the public bugtracker.
AUTHOR
Dan Book <
[email protected]>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Dan Book.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
SEE ALSO
Mojolicious::Renderer, Template, Template::Provider::Mojo