]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/View/TT.pm
Wrote up Changes. Added wishlist.txt - start of a list of tasks for 2.11, 2.12, 3.0
[maypole.git] / lib / Maypole / View / TT.pm
index 1ea4a8efb663a8717c65331c9ae80445c2a0c9c9..6f9fbc6bbc7115278c717983066e403670c7c9aa 100644 (file)
@@ -58,9 +58,9 @@ Maypole::View::TT - A Template Toolkit view class for Maypole
 
 =head1 DESCRIPTION
 
-This is the default view class for Maypole; it uses the Template Toolkit to
-fill in templates with the objects produced by Maypole's model classes.  Please
-see the L<Maypole manual|Maypole::Manual>, and in particular, the
+This is the default view class for Maypole; it uses the Template Toolkit to fill
+in templates with the objects produced by Maypole's model classes. Please see
+the L<Maypole manual|Maypole::Manual>, and in particular, the
 L<view|Maypole::Manual::View> chapter for the template variables available and
 for a refresher on how template components are resolved.
 
@@ -78,7 +78,8 @@ Processes the template and sets the output. See L<Maypole::View::Base>
 
 =head1 TEMPLATE TOOLKIT INTRODUCTION
 
-The Template Toolkit uses it's own mini language described in L<Template::Manual::Directives>.
+The Template Toolkit uses it's own mini language described in
+L<Template::Manual::Directives>.
 
 A simple example would be :
 
@@ -94,18 +95,22 @@ enclose more details of ...
 
 =back
 
-TT uses '[%' and '%]' (by default) to delimit directives within a template, and the simple directives
-above just display the value of variable named within those delimiters -- [% title %] will be replaced
-inline with the value of the 'title' variable passed in the 'stash' to the template when it is processed.
+TT uses '[%' and '%]' (by default) to delimit directives within a template, and
+the simple directives above just display the value of variable named within
+those delimiters -- [% title %] will be replaced inline with the value of the
+'title' variable passed in the 'stash' to the template when it is processed.
 
-You can access nested data through the dot ('.') operator, which will dereference array or hash elements,
-but can also be used to call methods on objects, i.e. '[% name.salutation("Dear %s,") %]'. The other main
-operator is underscore ('_'), which will concatonate strings or variables.
+You can access nested data through the dot ('.') operator, which will
+dereference array or hash elements, but can also be used to call methods on
+objects, i.e. '[% name.salutation("Dear %s,") %]'. The other main operator is
+underscore ('_'), which will concatonate strings or variables.
 
-The value returned by a directive replaces the directive inline when the template is processes, you can also
-SET a value which will not return anything, or CALL a method or operation which will also not return anything.
+The value returned by a directive replaces the directive inline when the
+template is processes, you can also SET a value which will not return anything,
+or CALL a method or operation which will also not return anything.
 
-You can specify expressions using the logical (and, or, not, ?:) and mathematic operators (+ - * / % mod div).
+You can specify expressions using the logical (and, or, not, ?:) and mathematic
+operators (+ - * / % mod div).
 
 =over 4
 
@@ -117,13 +122,15 @@ You can specify expressions using the logical (and, or, not, ?:) and mathematic
 
 =back
 
-TT allows you to include or re-use templates through it's INCLUDE, PROCESS and INSERT directives, which
-are fairly self explainatory. You can also re-use parts of template with the BLOCK or MACRO directives.
+TT allows you to include or re-use templates through it's INCLUDE, PROCESS and
+INSERT directives, which are fairly self explainatory. You can also re-use parts
+of template with the BLOCK or MACRO directives.
 
-Conditional and Looping constructs are simple and powerful, and TT provides an inbuilt iterator and helper
-functions and classes that make life sweet.
+Conditional and Looping constructs are simple and powerful, and TT provides an
+inbuilt iterator and helper functions and classes that make life sweet.
 
-Conditional directives are IF, UNLESS, ELSIF, ELSE and behave as they would in perl :
+Conditional directives are IF, UNLESS, ELSIF, ELSE and behave as they would in
+perl :
 
 =over 4
 
@@ -141,7 +148,8 @@ Conditional directives are IF, UNLESS, ELSIF, ELSE and behave as they would in p
 
 Looping directives are FOREACH, LAST and BREAK.
 
-FOREACH loops through a HASH or ARRAY processing the enclosed block for each element.
+FOREACH loops through a HASH or ARRAY processing the enclosed block for each
+element.
 
 Looping through an array
 
@@ -163,10 +171,10 @@ Looping through an array of hashes
 
 The LAST and BREAK directive can be used to exit the loop.
 
-The FOREACH directive is implemented using the Template::Iterator module.  A reference
-to the iterator object for a FOREACH directive is implicitly available in the 'loop' variable.
-The loop iterator object provides a selection of methods including size(), max(), first(), last(),
-count(), etc
+The FOREACH directive is implemented using the Template::Iterator module. A
+reference to the iterator object for a FOREACH directive is implicitly available
+in the 'loop' variable. The loop iterator object provides a selection of methods
+including size(), max(), first(), last(), count(), etc
 
 =over 4
 
@@ -180,33 +188,38 @@ count(), etc
 
 See Template::Iterator for further details on looping and the Iterator.
 
-You might notice the minus ('-') operator in the example above, it is used to remove a newline
-before or after a directive so that you can layout the Template logic as above but the resulting
-output will look exactly how you require it.
+You might notice the minus ('-') operator in the example above, it is used to
+remove a newline before or after a directive so that you can layout the Template
+logic as above but the resulting output will look exactly how you require it.
 
-You will also frequently see comments and multi-line directives, # at the start of a directive
-marks it as a comment, i.e. '[%# this is a comment %]'. A multiline directive looks like :
+You will also frequently see comments and multi-line directives, # at the start
+of a directive marks it as a comment, i.e. '[%# this is a comment %]'. A
+multiline directive looks like :
 
  [% do.this;
     do.that;
     do.the_other %]
 
-You can see that lines are terminated with a semi-colon (';') unless the delimter ('%]') closes the directive.
+You can see that lines are terminated with a semi-colon (';') unless the
+delimter ('%]') closes the directive.
 
-For full details of the Template Toolkit see Template::Manual and Template::Manual::Directives, you can
-also check the website, mailing list or the Template Toolkit book published by O Reilly.
+For full details of the Template Toolkit see Template::Manual and
+Template::Manual::Directives, you can also check the website, mailing list or
+the Template Toolkit book published by O Reilly.
 
 =head1 TEMPLATE PLUGINS, FILTERS AND MACROS
 
-The Template Toolkit has a popular and powerful selection of Plugins and Filters.
+The Template Toolkit has a popular and powerful selection of Plugins and
+Filters.
 
-TT Plugins provide additional functionality within Templates, from accessing CGI and
-databases directly, handling paging or simple integration with Class::DBI (for those
-rare occasions where you don't actually need Maypole). See L<Template::Manual::Plugins>.
+TT Plugins provide additional functionality within Templates, from accessing CGI
+and databases directly, handling paging or simple integration with Class::DBI
+(for those rare occasions where you don't actually need Maypole). See
+L<Template::Manual::Plugins>.
 
 One plugin that is indispensible when using Maypole and the Template View is
-C<Template::Plugin::Class> -- This allows you to import and use any class installed
-within a template. For example :
+C<Template::Plugin::Class> -- This allows you to import and use any class
+installed within a template. For example :
 
 =over 4
 
@@ -215,22 +228,24 @@ within a template. For example :
 
 =back
 
-Would do the equivilent of 'use Foo; Foo->bar;' in perl. See L<Template::Plugin::Class>
-for details.
+Would do the equivilent of 'use Foo; Foo->bar;' in perl. See
+L<Template::Plugin::Class> for details.
 
-TT Filters process strings or blocks within a template, allowing you to truncate,
-format, escape or encode trivially. A useful selection is included with Template Toolkit
-and they can also be found on CPAN or can be written easily.
-See L<Template::Manual::Filters>.
+TT Filters process strings or blocks within a template, allowing you to
+truncate, format, escape or encode trivially. A useful selection is included
+with Template Toolkit and they can also be found on CPAN or can be written
+easily. See L<Template::Manual::Filters>.
 
-TT Macros allow you to reuse small blocks of content, directives, etc. The MACRO directive
-allows you to define a directive or directive block which is then evaluated each time the
-macro is called. Macros can be passed named parameters when called.
+TT Macros allow you to reuse small blocks of content, directives, etc. The MACRO
+directive allows you to define a directive or directive block which is then
+evaluated each time the macro is called. Macros can be passed named parameters
+when called.
 
-Once a MACRO is defined within a template or 'include'd template it can be used as if it
-were a native TT directive. Maypole provides a selection of powerful and useful macros
-in the templates/ directory of the package and these are used in the beerdb and default
-templates. See the MACRO section of the L<Template::Manual::Directives> documentation.
+Once a MACRO is defined within a template or 'include'd template it can be used
+as if it were a native TT directive. Maypole provides a selection of powerful
+and useful macros in the templates/ directory of the package and these are used
+in the beerdb and default templates. See the MACRO section of the
+L<Template::Manual::Directives> documentation.
 
 =head1 MAYPOLE MACROS AND FILTERS