Dancer2::Core::Role::Template(3pm)

NAME
Dancer2::Core::Role::Template - Role for template engines

VERSION
version 2.1.0

DESCRIPTION
Any class that consumes this role will be able to be used as a template engine under Dancer2.

In order to implement this role, the consumer must implement the method "render". This method will receive three arguments:

$self
$template
$tokens

Any template receives the following tokens, by default:

•   "perl_version"

    Current version of perl, effectively $^V.

•   "dancer_version"

    Current version of Dancer2, effectively "Dancer2->VERSION".

•   "settings"

    A hash of the application configuration.

•   "request"

    The current request object.

•   "params"

    A hash reference of all the parameters.

    Currently the equivalent of "$request->params".

•   "vars"

    The list of request variables, which is what you would get if you called the "vars" keyword.

•   "session"

    The current session data, if a session exists.

ATTRIBUTES

  name
The name of the template engine (e.g.: Simple).

  charset
The charset used by the template engine. This is typically set from the application's "charset" setting.

  default_tmpl_ext
The default file extension. If not provided, tt is used.

  views
Path to the directory containing the views.

  layout
Path to the directory containing the layouts.

  layout_dir
Relative path to the layout directory.

Default: layouts.

  engine
Contains the engine.

METHODS

  view_pathname($view)
Returns the full path to the requested view.

  layout_pathname($layout)
Returns the full path to the requested layout.

  pathname_exists($pathname)
Returns true if the requested pathname exists. Can be used for either views or layouts:

    $self->pathname_exists( $self->view_pathname( 'some_view' ) );
    $self->pathname_exists( $self->layout_pathname( 'some_layout' ) );

  render_layout($layout, \%tokens, \$content)
Render the layout with the applied tokens

  apply_renderer($view, \%tokens)

  apply_layout($content, \%tokens, \%options)

  process($view, \%tokens, \%options)

  template($view, \%tokens, \%options)

AUTHOR
Dancer Core Developers

COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.