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
andlayout
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
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