[cgiapp] Re: Settng Template path
Stephen Carville
stephen.carville at gmail.com
Wed Jan 16 14:43:48 EST 2008
Forget it! False alarm!
"html_templates" should be "html-templates".
On Jan 16, 2008 11:06 AM, Stephen Carville <stephen.carville at gmail.com> wrote:
> I'm trying out CGI++Application plus HTML::Template as a
> replacement/upgrade for a current report generation system but I'm
> havinmg a problem with settng the template path:
>
> I create a module called DailyFloodSummary.pm:
>
> #!/usr/bin/perl
> package DailyFloodSummary;
> use base 'CGI::Application';
> use strict;
> use warnings;
> use HTML::Template;
>
> # Constants
> my $TMPL_DIR = "/var/www/perl/html_templates";
>
> #######################################
> # Setup
> #
> sub setup {
> my $self = shift;
>
> $self->tmpl_path($TMPL_DIR);
> $self->run_modes(
> '0' => 'show_search_form',
> '1' => 'show_results_list'
> );
>
> $self->start_mode('0');
>
> $self->mode_param('level');
> }
>
> #######################################
> # show the search form
> #
> sub show_search_form {
> my $self = shift;
> my ($cgi,$date,$time);
> my ($header,$body,$trailer,$output);
>
> # open the header template
> $header = $self->load_tmpl("header.tmpl");
>
> # current date and time from library routines
> ($date,$time) = web_get_today();
>
> $header->param(todaysdate => "$date $time");
>
> $output = $header->output;
>
> return $output;
> }
>
> I call it from dfs.cgi
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use lib ".";
> use DailyFloodSummary;
>
> my $app = DailyFloodSummary->new();
>
> $app->run();
>
> I get the following error list:
>
> Error executing run mode '0': HTML::Template->new() : Cannot open
> included file header.tmpl : file not found. at
> /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1658
> HTML::Template::_init_template('HTML::Template=HASH(0x1f738f80)')
> called at /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1238
> HTML::Template::_init('HTML::Template=HASH(0x1f738f80)')
> called at /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1124
> HTML::Template::new('HTML::Template', 'filename',
> 'header.tmpl', 'path', 'ARRAY(0x1f83f1a0)') called at
> /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1182
> HTML::Template::new_file('HTML::Template', 'header.tmpl',
> 'path', 'ARRAY(0x1f83f1a0)') called at
> /usr/lib/perl5/site_perl/5.8.8/CGI/Application.pm line 1464
> CGI::Application::load_tmpl('DailyFloodSummary=HASH(0x1f5e12e0)',
> 'header.tmpl') called at DailyFloodSummary.pm line 40
> DailyFloodSummary::show_search_form('DailyFloodSummary=HASH(0x1f5e12e0)')
> called at /usr/lib/perl5/site_perl/5.8.8/CGI/Application.pm line 152
> eval {...} called at
> /usr/lib/perl5/site_perl/5.8.8/CGI/Application.pm line 151
> CGI::Application::run('DailyFloodSummary=HASH(0x1f5e12e0)')
> called at ./dfs.cgi line 11
> at ./dfs.cgi line 11
>
> Any idea what I am doing wrong?
>
> --
> Stephen Carville
>
--
Stephen Carville
More information about the cgiapp
mailing list