* Mirko Kaffka <mirko@taifun.interface-business.de> [030113 15:50]:
Hallo Mirko,
> <IMPERIA lang=perl>
> require "dumpvar.pl";
What's that?
> clearlist();
> clearlimit();
> filemask("\\.shtml\$");
> ireaddir("/");
>
> foreach my $file (@FILELIST) {
> my $meta = $FILE_META{$file};
%FILE_META wird so gefüllt:
$FILE_META{$File::Find::name}{$_} =
scalar $FILE_META_INFO{$File::Find::name}->getValues($_);
getValues() wird also immer nur in skalarem Kontext aufgerufen (btw: das
»scalar« hier ist absolut überflüssig, zeigt aber, dass sich die
Imperia-Programmierer der Problematik wohl bewusst waren), und liefert
darum immer nur einen (den ersten) Wert zurück.
Du kannst aber mal folgendes Probieren:
> # my $kategorien = $meta->{'kategorie'}; # Referenz auf Array?
my @kategorie = $FILE_META_INFO{$_}->getValues('kategorien');
Das müsste es eigentlich tun, wenn ich mich da jetzt nicht verguckt
habe.
Du kannst auch überall mit %FILE_META_INFO (statt %FILE_META) arbeiten,
aber dann musst du deine Skripte natürlich entsprechend umschreiben (und
nur noch getValues() verwenden).
> print "<!-- ";
> ::dumpValue($meta);
> print " -->\n";
use Data::Dumper;
print Dumper($meta);
> }
> </IMPERIA>
> PS : Guido hatte noch vorgeschlagen, mit
> $METAINFO->getValues('kategorie'); zu arbeiten aber leider sind die
> Metainfos aus $FILE_META{$file} keine richtigen Meta::Info Objekte
> sondern nur "unblessed".
<flame>
Dann frag doch lieber mich ;->.
</flame>
Gruss
Christian
--
Archiv der Mailingliste : http://www.lackas.net/imp/ma/
Imperia-Resource-Page : http://www.lackas.net/imp/
Wie zitiere ich richtig? : http://learn.to/quote/
Abmelden : mailto:majordomo@imperia.de?body=unsubscribe
| Thread (I6: Zugriff auf Arrays mit Perl in site_active-Templates) |
|
© 2001, 2002 marchive.pl Christian Lackas
[HOME]
[MARCHIVE]
[INDEX]
[IMPERIA]
[IMPRESSUM]
[DELTA]