CGI::FormBuilder::Template::Fast(3) User Contributed Perl Documentation
NAME
CGI::FormBuilder::Template::Fast - FormBuilder interface to
CGI::FastTemplate
SYNOPSIS
my $form = CGI::FormBuilder->new(
fields => \@whatever,
template => {
type => 'Fast',
root => '/path/to/templates',
# use external files
define => {
form => 'form.txt',
field => 'field.txt',
invalid_field => 'invalid_field.txt',
},
# or define inline
define_nofile => {
form => '
$START_FORM
$SUBMIT $END_FORM',
# etc.
},
},
);
DESCRIPTION
This engine adapts FormBuilder to use "CGI::FastTemplate". Please read
these docs carefully, as the usage differs from other template adapters
in several important ways.
You will need to define three templates: "form", "field", and
"invalid_field". You can use "define" to point to external files (which
is the recommended "CGI::FastTemplate" style), or "define_nofile"/
"define_raw" to define them inline. The templates in "define_nofile"
take precedence over "define_raw", and both of these take precedence
over "define".
my $form = CGI::FormBuilder->new(
# ...
template => {
type => 'FastTemplate',
root => '/path/to/templates',
define => {
form => 'form.txt',
field => 'field.txt',
invalid_field => 'invalid_field.txt',
},
# or, you can define templates directly
define_nofile => {
form => '$START_FORM$SUBMIT $END_FORM',
# etc.
},
},
# ...
);
If you use "define" with external templates, you will probably also
want to define your template root directory with the "root" parameter.
Within each of the field templates, the following variables are
available:
$NAME # $field->name
$FIELD # $field->tag (HTML input tag)
$VALUE # $field->value (first value only!)
$LABEL # $field->label
$COMMENT # $field->comment
$ERROR # $field->error
$REQUIRED # $field->required ? 'required' : 'optional'
All the fields are processed in sequence; valid fields use the "field"
template, and invalid fields the "invalid_field" template. The result
from each of these is appended into the $FIELDS variable, which you
should use in your "form" template. In the "form" template, you also
have access to these variables:
$TITLE # title of the form
$START_FORM # opening form tag
$SUBMIT # the submit button
$RESET # the reset button
$END_FORM # closing form tag
$JS_HEAD # validation JavaScript
Note that since "CGI::FastTemplate" doesn't use anything other than
simple scalar variables, there are no variables corrosponding to the
lists that other engines have (e.g. "fields" or "options" lists in
"TT2" or "Text::Template").
SEE ALSO
CGI::FormBuilder, CGI::FormBuilder::Template, CGI::FastTemplate
AUTHOR
Copyright (c) 2005-2006 Peter Eichman . All Rights
Reserved.
Maintained as part of "CGI::FormBuilder" by Nate Wiger
.
This module is free software; you may copy this under the terms of the
GNU General Public License, or the Artistic License, copies of which
should have accompanied your Perl kit.
perl v5.40.0 2024-09-01
CGI::FormBuilder::Template::Fast(3)