NAME
Chronicle::Template - Base class for Chronicle's template abstractions
DESCRIPTION
This class should be used as a base class for Template plugins and provides a few utility methods for writing those. For users of the template plugins, it also provides the factory method create that takes care of loading and instantiating the required subclass.
METHODS
new
The constructor takes a file name as a mandatory agument and a number of options as key-value pairs. The following options are currently defined:
LICENSE
This module is free software; you can redistribute it and/or modify it under the terms of either:
a) the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version, or
b) the Perl "Artistic License".
AUTHOR
Matthias Bethke
new
Constructor.
create
This factory method takes the template text or file name as the only mandatory parameter and returns an instance of a Chronicle::Template subclass. A number of optional parameters may follow as key-value pairs. All of these options are passed to the subclass' constructor except for type
. type
specifies the desired subclass; default is "HTMLTemplate" for compatibility with the old hardcoded templates.
The following values are currently valid for type
:
- HTMLTemplate
- Xslate
param
Add a parameter that can be used in template expansion later. Takes a key and a value to add.
output
This method takes no parameters and returns the final rendering result from applying all arguments set by param to the template.
_theme_file_path
Construct a path to a theme file from a filename passed in and the theme_dir
and theme
specified at construction time. Returns undef
if the file does not exist or is not readable.
_theme_dir
Construct a path to the theme dir and check that it exists. Returns the diretory on success, undef
otherwise.