]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/View/TT.pm
making Untainting less awful
[maypole.git] / lib / Maypole / View / TT.pm
index 0280e1ef3ab52fdd460d8b5978a0aff598200d31..b837e529a60d2423eb1377b6017ffe6fdaf0cfb7 100644 (file)
@@ -32,8 +32,7 @@ sub template {
     if ($self->{tt}->process($template_file, { $self->vars($r) }, \$output )) {
         $r->{output} = $output;
         return OK;
-    }
-    else {
+    } else {
        $r->{error} = "TT error for template '$template_file'\n" . $self->{tt}->error;
         return ERROR;
     }
@@ -141,6 +140,9 @@ 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).
 
+Results of TT commands are interpolated in the place of the template tags, unless
+using SET or CALL, i.e. [% SET foo = 1 %], [% GET foo.bar('quz'); %]
+
 =over 4
 
 [% template.title or default.title %]
@@ -276,6 +278,34 @@ 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 ACCESSING MAYPOLE VALUES
+
+=head2 request
+
+You can access the request in your templates in order to see the action, table, etc as well
+as parameters passed through forms :
+
+for example
+
+Hello [% request.params.forename %] [% request.params.surname %] !
+
+or 
+
+Are you want to [% request.action %] in the [% request.table %] ?
+
+=head2 config
+
+You can access your maypole application configuration through the config variable :
+
+<link base="[% config.uri_base %]"/>
+
+=head2 object and objects
+
+Objects are passed to the request using r->objects($arrayref) and are accessed in the templates
+as an array called objects.
+
+[% FOR objects %] <a href="[% config.uri_base %]/[% request.table %]/view/[% object.id %]"> [% object %] </a> [% END %]
+
 =head1 MAYPOLE MACROS AND FILTERS
 
 Maypole provides a collection of useful and powerful macros in the templates/factory/macros