Hallo Zusammen,
ich habe eine Bildergalerie gebastelt, bei der eine Anzahl von Thumbnails (in Abhängigkeit von $range) über der eigentlichen Bildausgabe platziert werden. Dabei ist auch eine Blätterfunktion verwirklicht. Dies funktioniert soweit auch alles.
Meine Frage ist nun (an die perl-Spezialisten), ob man den Code noch etwas optimieren (verschlanken und/oder beschleunigen) kann?
schnipp -------------------------------------------
<table border="0">
<tr><td>
<table border="0">
</tr>
<perl>
### Variablen ###
$ausstellung="Zoo" unless $ausstellung;
$v=0 unless $v;
$range=5;
$spaltenbreite=90;
### Aufruf der Thumbs ###
get "ausstellung==$ausstellung range=$v,5","bilder";
### Ermittlung der Restspalten ###
$teiler=$_amount_query/$range;
$Ganzzahl = int($teiler); #Ziffern nach Komma wegstreichen
$Ergebnis = $Ganzzahl+1; #auf nächste Zahl erhöhen
$maxspalten = $Ergebnis*$range;
$rest = $maxspalten-$_amount_query;
$maxbreite = $rest*$spaltenbreite; # Breite der letzten Tabellenzelle bei Thumbs
### Variable damit das große Foto beim Blättern erhalten bleibt ###
$foto="&fotoId=$fotoId&cmd=aw" if $fotoId;
### Variable für Blättermarke ###
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
### Blättermarke nach links ###
out "<td width='10'>";
out $oldrange>=0?"<a href='baseportal.pl?htx=$htx&ausstellung=$ausstellung&v=$oldrange$foto'><img src='http://www.webmaster-hilfen.de/webspace/webspace/ziercke/left_rot.gif' border='0'></a>":"<img src='http://www.webmaster-hilfen.de/webspace/webspace/ziercke/left_grau.gif' border='0'>";
out "</td>";
### Ausgabe der Thumbs ###
while (get_next("bilder"))
{
$position="&v=$v" if $v;
out "<td align='center' width='$spaltenbreite'><a href='baseportal.pl?htx=$htx&ausstellung=$ausstellung&fotoId=$_id$position&cmd=aw'>";
out "<img src='http://www.louis-ziercke.de/galerie/thumbs/$images' alt='$titel'";
if ($cmd eq "aw" && $fotoId == $_id)
{
out " border='1'>";
}else
{
out " border='0'>";
}
out "</a></td>";
}
out "<td colspan='$rest' width='$maxbreite'></td>" if $newrange>$_amount_query;
### Blättermarke nach rechts ###
out "<td width='10'>";
out $newrange<$_amount_query?"<a href='baseportal.pl?htx=$htx&ausstellung=$ausstellung&v=$newrange$foto'><img src='http://www.webmaster-hilfen.de/webspace/webspace/ziercke/right_rot.gif' border='0'></a>":"<img src='http://www.webmaster-hilfen.de/webspace/webspace/ziercke/right_grau.gif' border='0'>";
out "</td>";
out "</tr></table></td></tr><tr><td algin='center'><table border='0' width='100%'><tr>";
### Aufruf des Fotos ###
if ($cmd eq "aw")
{
get "Id==!$fotoId","bilder";
}else
{
get "ausstellung==$ausstellung range=0,1","bilder";
}
while (get_next("bilder"))
{
out "<td align='center'><img src='http://www.louis-ziercke.de/galerie/images/$images' alt='$titel'>";
}
</perl>
</td></tr>
</table>
</td></tr>
</table>
schnapp------------------------------------------
Grüße
Oliver ;-)