--- trunk/lib/WebPAC/Output/TT.pm 2005/07/24 15:35:46 33 +++ trunk/lib/WebPAC/Output/TT.pm 2005/11/14 16:11:40 42 @@ -6,6 +6,7 @@ use base qw/WebPAC::Common/; use Template; +use List::Util qw/first/; use Data::Dumper; =head1 NAME @@ -85,6 +86,36 @@ $log->logconfess("need $a") unless ($args->{$a}); } + # filter to return value from @ds + + sub tt_filter_d { + + my ($name,$join) = @_; + +print "### name = ",Dumper($name); + + my $item = first { $_->{'name'} eq $name } @{ $args->{'data'} }; + + return unless($item); + +print "### item = ",Dumper($item); + + my $v = $item->{'display'} || return; + + if (ref($v) eq 'ARRAY') { + if ($#{$v} == 0) { + $v = $v->[0]; + } else { + $join = '¶
' unless defined($join); + $v = join($join, @{$v}); + } + } +print "### v = $v\n"; + return $v; + } + $args->{'d'} = \&tt_filter_d; + + my $out; $self->{'tt'}->process(