Re: [htmltmpl] Trailing 1
Brought to you by:
samtregar
From: Barry M. <bmi...@th...> - 2007-04-16 21:49:56
|
You're right, that's not the exact code. I'm using CGI:Ajax in addition to HTML::Template. At first, I was using strictly CGI:Ajax and doing a $template->output; directly at the end of each sub. But, I wanted to be able to work with users that don't have JavaScript enabled or portable devices that don't support JS. Now, I return the $template->output and either print it (for AJAX) or assign it to a tmpl_var in the whole page template. Putting it into the page template as a TMPL_VAR doesn't show the 1. Only printing it after an AJAX call. It does happen with this code (stripped down version of my full script to save bandwidth): #!/usr/bin/perl -w use strict; use CGI; use CGI::Ajax; use HTML::Template; my $cgi = new CGI(); my $pjx = new CGI::Ajax('change_page' => \&change_page); print $pjx->build_html($cgi,\&Show_HTML); sub change_page { my $pg = $cgi->param('page'); print Show_Content($pg) if(defined $pg); } sub Show_HTML { my $template = HTML::Template->new(filename => "/var/www/localhost/htdocs/perlsite/index.tmpl"); my $content = ''; my $content_template = HTML::Template->new(filename => "/var/www/localhost/htdocs/perlsite/content/index.html"); $content = $content_template->output; $template->param(content => $content); return $template->output; } sub Show_Content { my $pg = shift; my $template = HTML::Template->new(filename => "/var/www/localhost/htdocs/perlsite/content/$pg.html") return $template->output; } |