X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2F03_MoreCatalystBasics.pod;h=89f63302d600ca8560e8cfed7de0ab49ce8408ab;hp=89e5e2ef836bcc9c8c3b1f789a145de7430142e5;hb=532433240eb30ab0ea416cd43bfd5bbe70dfa661;hpb=e4be976b833a588927b71b3c60ea96aa918e9c80 diff --git a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod index 89e5e2e..89f6330 100644 --- a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod +++ b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod @@ -229,7 +229,7 @@ Don't let these variations confuse you -- they all accomplish the same result. This tells Catalyst to start using one additional plugin, -L, to add a +L, to add a stack trace to the standard Catalyst "debug screen" (the screen Catalyst sends to your browser when an error occurs). Be aware that L output appears in your @@ -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; + +This changes the base directory for your template files from +C to C. + +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... -B Make sure to add a comma after '.tt2' outside the single -quote. +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. -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 +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,22 +512,6 @@ C. Another popular option is to use C as the base (with a full filename pattern of C). -B Since we've added a call to C<< MyApp->path_to() >> inside of -C, we need to update C to include -C or the test will fail. Edit C and add the C -statement after the others, so this: - - use Test::More; - - BEGIN { use_ok 'MyApp::View::HTML' } - -looks like this: - - use Test::More; - use MyApp; - - BEGIN { use_ok 'MyApp::View::HTML' } - =head2 Create a TT Template Page First create a directory for book-related TT templates: @@ -536,10 +551,10 @@ looping, conditional logic, etc. In general, TT simplifies the usual range of Perl operators down to the single dot (".") operator. This applies to operations as diverse as method calls, hash lookups, and list index values (see -L for +L for details and examples). In addition to the usual L