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.