webForumDet fria alternativet

Subrutiner i templats

1 svar · 187 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

Hej!
Jag skulle vilja använda subrutiner i templats men har inte fått det att funka *som vanligt då*
Mitt CGI script som jag har ser ut så här

#!usr/bin/perl
use strict;
use HTML::Template;
use CGI;
use constant TMPL_FILE => "test.tmpl";

sub prova{
print "Provar om subrutiner går att skriva ut";
}

my $tmpl = new HTML::Template( filename => TMPL_FILE );
my $time = localtime;

$tmpl->param(time => $time);

print "Content-type: text/html\n\n",

	$tmpl->output;
my $q = new CGI;
my $tmpl = new HTML::Template( filename => TMPL_FILE,
				associate => $q);

Det jag vill är att jag vill kunna skriva ut en subrutin till en templat fil tex sub prova
Någon som kan tala om det?
Det kanske inte går eller går det?

------------------
/nordan

HansenMedlem sedan aug. 2000374 inlägg
#2

Hej!

Du ska nog inte printa ut något utan snarare retunera ett värde/sträng. Kika på följande kod:

#!/usr/bin/perl -w

use strict;
use CGI qw(:standard);
use HTML::Template;

my $q = new CGI;

my $template = HTML::Template->new(
  filename          => 'mall.tmpl',
  associate         => $q,
  global_vars       => 1,
  die_on_bad_params => 0,
  loop_context_vars => 1,
);

$template->param(
  RANDOM => random(),
);

print "Content-Type: text/html\n\n";
print $template->output;

sub random {
    return int( rand(50) );
}

Mallen:


<HTML>
<BODY>

  <P>Ditt tal: <TMPL_VAR NAME="RANDOM"></P>

</BODY>
</HTML>

------------------
Hansen
c.h@ngmedia.com

[Redigerat av Hansen den 23 maj 2001]

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)