[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