CGI-Builder-HTMLtmpl
view release on metacpan or search on metacpan
lib/CGI/Builder/HTMLtmpl.pm view on Meta::CPAN
, $filename
)
}
}
; return undef
}
; 1
__END__
=pod
=head1 NAME
CGI::Builder::HTMLtmpl - CGI::Builder and HTML::Template integration
=head1 VERSION 1.21
To have the complete list of all the extensions of the CBF, see L<CGI::Builder/"Extensions List">
=head1 INSTALLATION
=over
=item Prerequisites
CGI::Builder >= 1.0
HTML::Template >= 2.6
=item CPAN
perl -MCPAN -e 'install CGI::Builder::HTMLtmpl'
You have also the possibility to use the Bundle to install all the extensions and prerequisites of the CBF in just one step. Please, notice that the Bundle will install A LOT of modules that you might not need, so use it specially if you want to exte...
perl -MCPAN -e 'install Bundle::CGI::Builder::Complete'
=item Standard installation
From the directory where this file is located, type:
perl Makefile.PL
make
make test
make install
=back
=head1 SYNOPSIS
use CGI::Builder
qw| CGI::Builder::HTMLtmpl
...
|;
=head1 DESCRIPTION
B<Note>: You should know L<CGI::Builder>.
This module transparently integrates C<CGI::Builder> and C<HTML::Template> in a very handy and flexible framework that can save you some coding. It provides you a mostly automatic template system based on HTML::Template: usually you will have just to...
B<Note>: With this extension you don't need to explicitly set the C<page_content> to the output of your template object (C<< ht->output() >>) in your Page Handlers, because it will be automatically set. You should explicitly set the C<page_content> p...
# in order to produce the output with the template 'myPage.tmpl',
# usually you just need to pass the param to the object
sub PH_myPage {
my $s = shift;
$s->ht_param( something => 'something' );
}
# but if you want to completely bypass the template system
# just set the page_content
sub PH_myPage {
my $s = shift;
$s->page_content = 'some content';
}
B<Note>: This extension is not as magic and memory saving as the L<CGI::Builder::Magic|CGI::Builder::Magic> template extension, because HTML::Template requires a specific input data structure (i.e. does not allow call back subs unless you use the HTM...
=head1 EXAMPLES
=head2 Simple CBB (all defaults)
This is a complete CBB that uses all the default to load the './tm/index.tmpl'template and fill it with a couple of run time values and automatically send the C<page_content> to the client.
package My::WebApp
use CGI::Builder
qw| CGI::Builder::HTMLtmpl
|;
sub PH_index {
my $s = shift;
$s->ht_param( myVar => 'my Variable',
myOtherVar => 'other Variable');
}
1;
=head2 More complex CBB (overriding defaults)
This is a more complex complete CBB that will automatically send the C<page_content> to the client:
package My::WebApp
use CGI::Builder
qw| CGI::Builder::HTMLtmpl
|;
# this will init some properties overriding the default
# and adding some option to the ht creation
sub OH_init {
my $s = shift;
$s->page_suffix = '.html'; # override defaults
$s->ht_new_args( path => ['/my/path'], # override defaults
die_on_bad_params => 0,
cache => 1 );
}
# this will be called for page 'index' or if no page is specified
# it will load the '/my/path/index.html' file (since page_suffix is '.html')
# and will fill it with the following variables and send the output()
( run in 0.480 second using v1.01-cache-2.11-cpan-39bf76dae61 )