Scroll to navigation

Catalyst::Helper::View::TTSite(3pm) User Contributed Perl Documentation Catalyst::Helper::View::TTSite(3pm)


Catalyst::Helper::View::TTSite - Helper for TT view which builds a skeleton web site


# use the helper to create the view module and templates

    $ script/ view HTML TTSite

# add something like the following to your main application module

    sub message : Global {
        my ( $self, $c ) = @_;
        $c->stash->{template} = 'message.tt2';
        $c->stash->{message}  ||= $c->req->param('message') || 'No message';
    sub default : Private {
        my ( $self, $c ) = @_;
        $c->stash->{template} = 'welcome.tt2';
    sub end : Private { # Or use Catalyst::Action::RenderView
        my ( $self, $c ) = @_;
        $c->forward( $c->view('HTML') );


This helper module creates a TT View module. It goes further than Catalyst::Helper::View::TT in that it additionally creates a simple set of templates to get you started with your web site presentation.

It creates the templates in root/ directory underneath your main project directory. In here two further subdirectories are created: root/src which contains the main page templates, and root/lib containing a library of other template components (header, footer, etc.) that the page templates use.

The view module that the helper creates is automatically configured to locate these templates.

Default Rendering

To render a template the following process is applied:

The configuration template root/lib/config/main is rendered. This is controlled by the "PRE_PROCESS" configuration variable set in the controller generated by Catalyst::Helper::View::TTsite. Additionally, templates referenced by the "PROCESS" directive will then be rendered. By default the following additional templates are set: root/lib/config/col, which defines color names and RGB their RGB values and /root/lib/config/url, which defines site wide variables available to templates.

Next, the template defined by the "WRAPPER" config variable is called. The default wrapper template is located in root/lib/site/wrapper. The wrapper template passes files with ".css/.js/.txt" extensions through as text OR processes the templates defined after the "WRAPPER" directive: "site/html" and "site/layout".

Based on the default value of the "WRAPPER" directive in root/lib/site/wrapper, the following templates are processed in order:

  • root/src/your_template.tt2
  • root/lib/site/footer
  • root/lib/site/header
  • root/lib/site/layout
  • root/lib/site/html

Finally, the rendered content is returned to the browser.



Generates the component class.


Generates the templates.


Catalyst, Catalyst::View::TT, Catalyst::Helper, Catalyst::Helper::View::TT


Andy Wardley <>


This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.


[% class %] - Catalyst TTSite View


See "[% app %]"


Catalyst TTSite View.


[% author %]


This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.

2022-08-06 perl v5.34.0