[% SET menuframe = ' menuselect' %] [% PROCESS admin_menu.tt %] [% FOREACH frame IN frames %]
[% frame.name %]
[% frame.colour %]
##
#!/usr/bin/perl
use Site::Common;
use Site::HTML;
use strict;
my $site = Site::Common->new;
my $html = Site::HTML->new;
my $dbh = $site->db;
if ($data{'command'} eq 'frames') {
my $vars = {
'frames' => \&list_frames,
};
warn "Displaying template"; # This gets called
$html->display("admin_frames", $vars);
} else {
$html->display("admin_pictures");
}
sub list_frames {
warn "Building list of frames"; # This is not called
my @frames;
my $query = $dbh->prepare("SELECT idFrame, name, colour FROM Frame");
$query->execute();
while (my ($id, $name, $colour) = $query->fetchrow_array()) {
my $frame = {
'id' => $id,
'name' => $name,
'colour' => $colour,
};
push @frames, $frame;
}
return \@frames;
}
####
package Site::HTML;
use Template;
use Site::Variables;
use strict;
my $template = Template->new(INCLUDE_PATH => $Site::Variables::template_path);
sub display {
my $self = shift;
my $file = shift;
my %vars = @_;
$template->process("$file.tt", \%vars);
}
1;