[Petal] Creating template from string
Mark Holland
mark at thinkfoo.com
Thu Jul 21 09:42:27 BST 2005
Hi Michael,
I agree this would be a good feature to have. We are hoping to, in the
near future, create an I18N preprocessor, which will pre-process and
populate any i18n:translate tags which do not contain i18n:name tags.
The idea is to cache per-language versions of each template (maybe using
Cache::FileCache) which can be read into Petal for normal compilation
and processing. So being able to construct a template from a string
could be useful.
One thought though - how will Petal cache the complied version of a
template created from a string? Perhaps some sort of 'cache key' could
be passed to the constructor?
~mark
Michael Graham wrote:
>I'm the author of CGI::Application::Plugin::AnyTemplate, which tries to
>create a unified template API for CGI::Application. Currently it
>supports HTML::Template, Template::Toolkit and Petal.
>
>Where possible, I've tried to smooth over the API differences between
>the modules so that the user can switch templating systems without
>changing application code.
>
>One feature that I haven't been able to emulate in Petal is the ability
>to create a template from a string instead of a file.
>
> my $string = <<EOF;
> ...some template text...
> EOF
>
> # HTML::Template
> my $template = HTML::Template->new(
> scalarref => \$string,
> );
>
> # Template::Toolkit
> my $template = Template->new;
> $template->process(\$string);
>
>There doesn't seem to be a way to do this in Petal, short of writing the
>string to a temporary file and then passing the file to Petal.
>
>Is this something that could be supported in Petal some day?
>
>It's a useful feature for authors who want to bundle a default set of
>generic templates in the .pm file of their application.
>
>
>Michael
>
>
>
>
>--
>Michael Graham <magog at the-wire.com>
>
>
>
>
More information about the Petal
mailing list