The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Dancer::Template::HtmlTemplate - HTML::Template wrapper for Dancer

DESCRIPTION

This class is an interface between Dancer's template engine abstraction layer and the HTML::Template module.

In order to use this engine, use the template setting:

    template: html_template

This can be done in your config.yml file or directly in your app code with the set keyword.

Since HTML::Template uses different syntax to other template engines like Template::Toolkit, for current Dancer versions the default layout main.tt will need to be updated, changing the [% content %] line to:

    <!--tmpl_var name="content"-->

or

    <TMPL_VAR name="content">

Future versions of Dancer may ask you which template engine you wish to use, and write the default layout appropriately.

Also, currently template filenames should end with .tt; again, future Dancer versions may change this requirement.

Handling nested hashrefs

Since HTML::Template does not allow you to access nested hashrefs (at least, not without switching to using HTML::Template::Pluggable along with HTML::Template::Plugin::Dot), this module "flattens" nested hashrefs.

For instance, the session contents are passed to Dancer templates as session - to access a key of that hashref named username, you'd say:

    <TMPL_VAR name="session.username">

SEE ALSO

Dancer, HTML::Template

AUTHOR

David Precious, <davidp@preshweb.co.uk>

CONTRIBUTING

This module is developed on Github at:

http://github.com/bigpresh/Dancer-Template-HtmlTemplate

Feel free to fork the repo and submit pull requests!

ACKNOWLEDGEMENTS

Thanks to Damien Krotkine for providing code to flatten nested hashrefs in a way that allows HTML::Template templates to make use of them.

LICENSE

This module is free software and is released under the same terms as Perl itself.