X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2F03_MoreCatalystBasics.pod;h=fac0d9c89fa271994e2969891eed7296f012dcd9;hb=c062293d63d624ed197531fcd8e885d861433f86;hp=e21a8c9af40c1f1624090e7ff4b8f8f8156f5639;hpb=fb433ec426fb384bd97ed1fb73f16c7102924753;p=catagits%2FCatalyst-Manual.git diff --git a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod index e21a8c9..fac0d9c 100644 --- a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod +++ b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod @@ -449,30 +449,61 @@ initially demonstrate the concepts, but quickly migrate to a more typical "wrapper page" type of configuration (where the "wrapper" controls the overall "look and feel" of your site from a single file or set of files). -Edit C and you should see that the default -contents contains something similar to the following: +Edit C and you should see +something similar to the following: - __PACKAGE__->config(TEMPLATE_EXTENSION => '.tt'); + __PACKAGE__->config( + TEMPLATE_EXTENSION => '.tt', + render_die => 1, + ); And update it to match: __PACKAGE__->config( # Change default TT extension TEMPLATE_EXTENSION => '.tt2', - # Set the location for TT files - INCLUDE_PATH => [ - MyApp->path_to( 'root', 'src' ), + render_die => 1, + ); + +This changes the default extension for Template Toolkit from '.tt' to +'.tt2'. + +You can also configure components in your application class. For example, +Edit C and you should see that the default: + + __PACKAGE__->setup; + +Above this, add config: + + __PACKAGE__->config( + 'View::HTML' => { + #Set the location for TT files + INCLUDE_PATH => [ + __PACKAGE__->path_to( 'root', 'src' ), ], + }, ); + # This line was here already + __PACKAGE__->setup; -B Make sure to add a comma after '.tt2' outside the single -quote. +This changes the base directory for your template files from +C to C. -This changes the default extension for Template Toolkit from '.tt' to -'.tt2' and changes the base directory for your template files from -C to C. Stick with these conventions for the -tutorial, but feel free to use whatever options you desire in your -applications (as with most things Perl, there's more than one way to +The reason to do this outside the C file +is that the template path is found with the C method, +to get a path relative to the application root (no matter where it +is installed), but this requires the application to be loaded... + +Trying to set this setting in the view means that you have a chicken +and egg problem, in that the view requires the application to be loaded, +but loading the application loads the view. + +Putting the configuration which depends on the application class into +that class is the neatest way to avoid this issue. + +Please stick with the settings above for the duration of the +tutorial, but feel free to use whatever options you desire in your +applications (as with most things Perl, there's more than one way to do it...). B We will use C as the base directory for our @@ -481,7 +512,6 @@ C. Another popular option is to use C as the base (with a full filename pattern of C). - =head2 Create a TT Template Page First create a directory for book-related TT templates: