NAME¶
LedgerSMB::Template - 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.