Name
Web::Components::Role::TT - Applies Template as a Moo::Role
Synopsis
use Moo;
with 'Web::Components::Role::TT';
$rendered_template = $self->render_template( $stash );
Description
Uses Template to render templates, typically producing a page of HTML.
It is meant to be used in conjunction with Web::Components and
Web::ComposableRequest as it's API assumes these are used
Templates are assumed to be encoded as utf8
Configuration and Environment
Defines the following attributes;
templates
A lazily evaluated directory which defaults to templates in the
configuration var directory. This is where the templates are stored
The path to the template file is templates/<skin>/<layout>.tt. The
skin and layout attributes default to the values of the configuration
object
Requires the following attributes to be provided by the consuming
class;
config
Requires the configuration attribute to provide the following
attributes;
layout
The default template name if none is provided in the stash
skin
The default skin if none is provided in the stash
tempdir
Path to the directory where Template will store the compiled
templates
vardir
Path to the directory where the templates are stored
Subroutines/Methods
render_template
$rendered_template = $self->render_template( $stash );
The $stash hash reference may contain a config attribute, otherwise the
invocant is expected to provide a config object
The $stash should contain either a template attribute or skin and page
attributes. If a template attribute is provided it should be a hash
reference containing skin and layout attributes. If the page attribute
is provided it should be a hash reference that contains a layout
attribute
The layout attribute is either a path to the template or a scalar
reference that contains the template
Diagnostics
The compiled templates are stored in subdirectories below the
configuration temporary directory
Dependencies
File::DataClass
Moo
Template
Unexpected
Incompatibilities
There are no known incompatibilities in this module
Bugs and Limitations
There are no known bugs in this module. Please report problems to
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Web-Components-Role-TT.
Patches are welcome
Acknowledgements
Larry Wall - For the Perl programming language
Author
Peter Flanigan, <pjfl@cpan.org>
License and Copyright
Copyright (c) 2017 Peter Flanigan. 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 program is distributed in the hope that it will be useful, but
WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE