NAME
Catalyst::View::HTML::CTPP2 - HTML::CTPP2 View Class
SYNOPSIS
# use the helper
create.pl view HTML::CTPP2 HTML::CTPP2
# lib/MyApp/View/HTML/CTPP2.pm
package MyApp::View::HTML::CTPP2;
use base 'Catalyst::View::HTML::CTPP2';
__PACKAGE__->config(
INCLUDE_PATH => [
MyApp->path_to( 'root', 'src' ),
MyApp->path_to( 'root', 'lib' )
),
TEMPLATE_EXTENSION => '.ctpp2c',
file_cache => 1,
file_cache_time => 24*60*60,
file_cache_dir => '/tmp/myapp_cache',
arg_stack_size => 1024,
.....
source_charset => 'CP1251',
destination_charset => 'utf-8'
);
1;
# Meanwhile, maybe in an 'end' action
$c->forward('MyApp::View::HTML::CTPP2');
DESCRIPTION
This is the "HTML::CTPP2" view class. Your subclass should inherit from
this class.
METHODS
new Internally used by "Catalyst". Used to configure some internal
stuff.
process
Renders the template specified in "$c->stash->{template}" or
"$c->request->match". Template params are set up from the contents
of "$c->stash", augmented with "base" set to "$c->req->base" and
"name" to "$c->config->{name}". Output is stored in
"$c->response->body".
render
Renders the given template and returns output. Template params are
set up either from the contents of %$args if $args is a hashref, or
"$c->stash", augmented with "base" set to "$c->req->base" and "name"
to "$c->config->{name}".
config
This allows your view subclass to pass additional settings to the
HTML::CTPP2 config-hash.
Template Configuration
PATH CONFIGURATION AND TEMPLATE EXTENSION
INCLUDE_PATH
The "INCLUDE_PATH" is used to specify one or more directories in which
template files are located. When a template is requested that isn't
defined locally as a "BLOCK", each of the "INCLUDE_PATH" directories is
searched in turn to locate the template file. Multiple directories can
be specified as a reference to a list or as a single string where each
directory is delimited by '":"'.
__PACKAGE__->config(
INCLUDE_PATH => MyApp->path_to('root', 'src')
);
__PACKAGE__->config(
INCLUDE_PATH => '/myapp/path1:/myapp/path2:path3'
);
__PACKAGE__->config(
INCLUDE_PATH => [
MyApp->path_to('root', 'src'),
MyApp->path_to('root', 'lib')
]
);
On Win32 systems, a little extra magic is invoked, ignoring delimiters
that have '":"' followed by a '"/"' or '"\"'. This avoids confusion when
using directory names like '"C:\Blah Blah"'.
DELIMITER
Used to provide an alternative delimiter character sequence for
separating paths specified in the "INCLUDE_PATH". The default value for
"DELIMITER" is '":"'.
__PACKAGE__->config(
DELIMITER => '; ',
INCLUDE_PATH => '/myapp/path1;/myapp/path2;path3'
);
On Win32 systems, the default delimiter is a little more intelligent,
splitting paths only on '":"' characters that aren't followed by a
'"/"'. This means that the following should work as planned, splitting
the "INCLUDE_PATH" into 2 separate directories, "C:/foo" and "C:/bar".
# on Win32 only
__PACKAGE__->config(
INCLUDE_PATH => 'C:/Foo:C:/Bar'
);
However, if you're using Win32 then it's recommended that you explicitly
set the "DELIMITER" character to something else (e.g. '";"') rather than
rely on this subtle magic.
TEMPLATE_EXTENSION
If "TEMPLATE_EXTENSION" is defined then use template files with the
"TEMPLATE_EXTENSION" extension will be loaded. Default extension -
'".ctpp2"'
__PACKAGE__->config(
TEMPLATE_EXTENSION => '.myext'
);
CACHING
If any of parameters "file_cache" ( and > 0 ), "file_cache_time",
"file_cache_dir" is defined - cache will be used. Default value -
caching is off.
file_cache
Set use caching or not. Integer (default - "0 [caching off]").
#caching is on
__PACKAGE__->config(
file_cache => 1,
file_cache_time => 24*60*60,
file_cache_dir => '/tmp/myapp_cache'
);
#caching is off
__PACKAGE__->config(
file_cache => 0,
file_cache_time => 24*60*60
);
file_cache_time
This value can be set to control how many long the template cached
before checking to see if the source template has changed. Default cache
time - "1 hour".
#set cache time 1 day
__PACKAGE__->config(
file_cache_time => 24*60*60
);
file_cache_dir
The "file_cache_dir" option is used to specify an alternate directory
which compiled template files should be saved.
#set cache directory
#is '/tmp/catalysts/myapp'
__PACKAGE__->config(
file_cache_dir => '/tmp/catalysts/myapp'
);
CTPP2-Params
See here - HTML::CTPP2
SEE ALSO
HTML::CTPP2, Catalyst, Catalyst::Base.
AUTHOR
Victor M Elfimov (victor@sols.ru)
COPYRIGHT
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.