Hallöchen, vielleicht kann mir hier ja jemand weiterhelfen. Folgendes Problem: ich gebe mit folgendem Code einen array (ist ein Bruchstück eines Contenido-Galerie-Moduls gemischt mit eigenem Code) durch, in den lauter Grafikdateinamen aus einem Ordner eingelesen werden:
Sinn dieser ganzen Vor-und Zurückspringerei soll es sein, zu dem jeweils angezeigten Bild ($thisfile) eine Vorschau des vorherigen ($prefile) und des nachfolgenden Bildes ($nextfile) als Vor-und Zurücklink anzuzeigen. Das klappt auch prima bis auf eine Ausnahme: irgendwie wird immer genau das zweite Bild im Array übersprungen und bei mir hängts mit der Logik.
Zur Erklärung: die Abfrage des ersten Arrayelementes (filearray [0]) behandle ich deshalb gesondert, weil es da ja noch kein $prefile gibt und sich das Ganze sonst unendlich aufhängen würde. Aber irgendwie stimmt es hier nicht: denn ich denke eigentlich müßte nach $thisfile (momentanes Bild) doch einfach $nextfile das nachfolgende Arrayelement sein - funktioniert aber nur korrekt in der Anzeige, wenn ich eines vor- und dann wieder eines zurückspringe - für mich eigentlich unlogisch.
So, und dann zeigt es zwar beim ersten Bild den Link zum zweiten richtig an, aber der Link führt ins Nirgendwo. Auch wenn ich direkt auf das zweite Bild in der Galerie klicke sehe ich rein gar nichts. Ab Bild drei funktioniert dann die Anzeige zum Bild zwei, aber auch hier der Link zurück nicht. Ab Bild vier klappt dann alles genau so wie ich es haben will: funktionierender Link mit Bild zum "Bild davor" und "Bild danach".
Also muß irgendwo der Haken sein, daß in meiner wirren Vor- und zurückhüpferei das zweite Element übergangen wird. Aber wie und warum? Kann mir da jemand helfen?
PS, KÜR: beim allerletzten Arrayelement wird zwar das aktuelle Bild, aber weder ein "Bild davor" und "Bild danach" noch der Link dazu angezeigt. Habe zwar auch hier allerhand Spezialfälle versucht zu behandeln, aber irgendwie stieß ich auf Granit. Wenn jemand was weiß... ist aber nicht so wichtig wie das Problem mit dem komplett übersprungenen Bild!
Code:
...
sort ($filearray);
for ($n=0;$n=$mmstart;$n++)
$ffile=each($filearray);
$n=0;
while ($ffile=each($filearray)) {
$file=$ffile[value];
if ($filearray[0]==$file)
{
$prefile="";
$thisfile=$file;
$forthfile=next($filearray);
$nextfile=prev($filearray);
}
else
{
$prefile=prev($filearray);
$thisfile=next($filearray);
$nextfile=next($filearray);
$backfile=prev($filearray);
};
...
Sinn dieser ganzen Vor-und Zurückspringerei soll es sein, zu dem jeweils angezeigten Bild ($thisfile) eine Vorschau des vorherigen ($prefile) und des nachfolgenden Bildes ($nextfile) als Vor-und Zurücklink anzuzeigen. Das klappt auch prima bis auf eine Ausnahme: irgendwie wird immer genau das zweite Bild im Array übersprungen und bei mir hängts mit der Logik.
Zur Erklärung: die Abfrage des ersten Arrayelementes (filearray [0]) behandle ich deshalb gesondert, weil es da ja noch kein $prefile gibt und sich das Ganze sonst unendlich aufhängen würde. Aber irgendwie stimmt es hier nicht: denn ich denke eigentlich müßte nach $thisfile (momentanes Bild) doch einfach $nextfile das nachfolgende Arrayelement sein - funktioniert aber nur korrekt in der Anzeige, wenn ich eines vor- und dann wieder eines zurückspringe - für mich eigentlich unlogisch.
So, und dann zeigt es zwar beim ersten Bild den Link zum zweiten richtig an, aber der Link führt ins Nirgendwo. Auch wenn ich direkt auf das zweite Bild in der Galerie klicke sehe ich rein gar nichts. Ab Bild drei funktioniert dann die Anzeige zum Bild zwei, aber auch hier der Link zurück nicht. Ab Bild vier klappt dann alles genau so wie ich es haben will: funktionierender Link mit Bild zum "Bild davor" und "Bild danach".
Also muß irgendwo der Haken sein, daß in meiner wirren Vor- und zurückhüpferei das zweite Element übergangen wird. Aber wie und warum? Kann mir da jemand helfen?
PS, KÜR: beim allerletzten Arrayelement wird zwar das aktuelle Bild, aber weder ein "Bild davor" und "Bild danach" noch der Link dazu angezeigt. Habe zwar auch hier allerhand Spezialfälle versucht zu behandeln, aber irgendwie stieß ich auf Granit. Wenn jemand was weiß... ist aber nicht so wichtig wie das Problem mit dem komplett übersprungenen Bild!