NAME
Template::Plugin::Meta::Interpolate - Allow evaluation of META parameters
SYNOPSIS
[% USE Meta::Interpolate %]
[% META title = '-"${user.username} at Our Site"' %]
Show username in title
[% META title='-"404 - " _ loc("File not found")' %]
The value is enclosed in ''
. The initial -
tells us to interpolate the rest as if it said:
[% title = "404 - " _ loc("File not found") %]
The _
is a concatenation operator. And "loc" in Para::Frame::L10N is the translation function.
DESCRIPTION
It is common to wrap Template Toolkit templates in a base template, then use the meta function to set a page tittle.
[% META title = 'Book List' %]
Unfortunately the tittle can only contain static text. This plugin allow you to also use variables and expressions.
If value starts with a '-', the rest of value will be evaluated as a TT expression. (No expressions are normally allowed in META.)
If value starts with a '~', the rest of value will be evaluated as a TT string with variable interpolation. It's the same as for '-' but with the extra "" around the value.
It does not sets the variable if it's already true. That enables you to set it in another way.
Example
[* META otitle = '-otitle=["[_1]s administration pages", site.name]' *]
The normal use is to set the variable with the result of the template output. But to give complex values to a variable, like a list, you can do it as above.
In wrapper
In your wrapper set your title like this.
<title>[% template.title or "My site name!" %]</title>
AUTHOR
Jonas Liljegren
jonas@paranormal.se
COPYRIGHT
Copyright (C) 2004-2009 Jonas Liljegren. All Rights Reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
CPAN maintainer
Runar Buvik
CPAN ID: RUNARB
runarb@gmail.com
http://www.runarb.com
Git
https://github.com/runarbu/Template-Plugin-Meta-Interpolate