NAME
Maplat::Web::TemplateCache - provide template caching and rendering
SYNOPSIS
This module provides template rendering as well as caching the template files
DESCRIPTION
During the reload() calls, this modules loads all template files in the configured directory into RAM and renders them quite fast.
The template rendering can optionally use "meta" rendering with a base template. This is for example used to render the complete layout of a page, and modules only have templates that use only the changing part of the page - this way, you only have to have one global layout and only write the changing part of the page for every module.
Configuration
<module>
<modname>templates</modname>
<pm>TemplateCache</pm>
<options>
<view>
<path>MaplatWeb/Templates</path>
<base>/</base>
</view>
<view>
<path>some/other/relative/path</path>
<base>myothertemplates/</base>
</view>
<!-- Layout-Template to use for complete pages -->
<layout>maplatlayout</layout>
</options>
</module>
layout is the template name used in meta-rendering.
get
The one public function to call in this module is get(), in the form of:
$templatehandle->get($name, $uselayout, %webdata);
$name if the name of the template file (without the .tt suffix)
$uselayout is a boolean, indicating if meta-rendering with the configured layout.
%webdata is a hash that is passed through to the template toolkit.
quote
HTML-encodes (quotes) a scalar. Takes one argument (the value to quote) and returns the quoted value.
unquote
The reverse of quote(), takes an encoded value and returns the decoded (unquoted) one.
arrayquote
Similar to quote(), but HTML-encodes all values of an array. This works in-place, actually changing your array instead of working on a copy! Due to this, it should work on even huge arrays, with the downside of changing the callers data directly.
Takes one argument, a reference to the array to quote.
Warning: This function is designed to work only on simple arrays, elements that are references to sub-structures ( scalars, hashes, arrays, functions,...) will lead to undefined behavior!
hashquote
Similar to quote(), but HTML-encodes all values of a hash. This works in-place, actually changing your hash instead of working on a copy! Due to this, it should work on even huge hashes, with the downside of changing the callers data directly.
Takes one argument, a reference to the hash to quote.
Warning: This function is designed to work only on simple hashes, elements that are references to sub-structures ( scalars, hashes, arrays, functions,...) will lead to undefined behavior!
load_dir
Internal function.
Dependencies
This module is a basic web module and does not depend on other web modules.
SEE ALSO
Maplat::Web
AUTHOR
Rene Schickbauer, <rene.schickbauer@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2008-2010 by Rene Schickbauer
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.