LedgerSMB::Template(3) Template support module for LedgerSMB

SYNOPSIS

This module renders templates.

METHODS

new(user => \%myconfig, template => $string, format => $string, [locale => $locale] [language => $string], [include_path => $path], [no_auto_output => $bool], [method => $string], [no_escape => $bool], [debug => $bool], [output_file => $string] );
This command instantiates a new template:
template
The template to be processed. This can either be a reference to the template in string form or the name of the file that is the template to be processed.
format
The format to be used. Currently HTML, PS, PDF, TXT and CSV are supported.
format_options (optional)
A hash of format-specific options. See the appropriate LSMB::T::foo for details.
output_options (optional)
A hash of output-specific options. See the appropriate output method for details.
locale (optional)
The locale object to use for regular gettext lookups. Having this option adds the text function to the usable list for the templates. Has no effect on the gettext function.
language (optional)
The language for template selection.
include_path (optional)
Overrides the template directory. Used with user interface templates.
no_auto_output (optional)
Disables the automatic output of rendered templates.
no_escape (optional)
Disables escaping on the template variables.
debug (optional)
Enables template debugging.

With the TT-based renderers, HTML, PS, PDF, TXT, and CSV, the portion of the template to get debugging messages is to be surrounded by <?lsmb DEBUG format 'foo' ?> statements. Example:

    <tr><td colspan="<?lsmb columns.size ?>"></td></tr>
    <tr class="listheading">
  <?lsmb FOREACH column IN columns ?>
  <?lsmb DEBUG format '$file line $line : [% $text %]' ?>
      <th class="listtop"><?lsmb heading.$column ?></th>
  <?lsmb DEBUG format '' ?>
  <?lsmb END ?>
    </tr>
method/media (optional)
The output method to use, defaults to HTTP. Media is a synonym for method
output_file (optional)
The base name of the file for output.
available_formats()
Returns a list of format names, any of the following (in order) as applicable:
HTML (always available)
TXT (includes CSV, always available))
PDF
PS
XLS
ODS
new_UI(user => \%myconfig, locale => $locale, template => $file, ...)
Wrapper around the constructor that sets the path to 'UI', format to 'HTML', and leaves auto-output enabled.
render($hashref)
This command renders the template. If no_auto_output was not specified during instantiation, this also writes the result to standard output and exits. Otherwise it returns the name of the output file if a file was created. When no output file is created, the output is held in $self->{output}.

Currently email and server-side printing are not supported.

output
This function outputs the rendered file in an appropriate manner.
my $bool = _valid_language()
This command checks for valid langages. Returns 1 if the language is valid, 0 if it is not.
column_heading()
Apply locale settings to column headings and add sort urls if necessary.
escape($string)
Escapes a scalar string if the format supports such escaping and returns the sanitized version.

Copyright 2007, The LedgerSMB Core Team

This file is licensed under the GNU General Public License version 2, or at your option any later version. A copy of the license should have been included with your software.