Bond246
Bekanntes Mitglied
Moin!
Ich versuche für unsere Filmgruppe eine neue Internetseite zu Programmieren und modernen Glanz auf den Informationsgehalt zu projezieren.
Ich habe da noch mehrere Baustellen, aber die Gallerie ist meine schwierigste.
Ich habe mir für die Visualisierung das JS-Plugin Highslide integriert.
Die Nutzung des Plugins funktionierte wunderbar, bis zu dem Punk, wo ich mir das Eintippen jedes einzelnen Bildes in ungefähr folgendes Format per PHP ersparen wolle:
Erklärung: Oben wird ein Thumbnail dargestellt. Im Div-Container stehen alle Bilder des jeweiligen Albums.
Um jetzt also nicht für jedes der mittlerweile schon 13 Alben mit jeweils 5-10 Bildern eine derartige Prozedur aufschreiben muss, habe ich mir ein PHP-Script integriert.
Der Aufmerksame PHP-Leser wird jetzt laut fluchen: "Was schließt und öffnet dieses Idiot ständig die PHP-Anweisung mit <?php ?>.
Jaaa, ich würds gerne nur mit echo " "; machen.
Das Problem ist, dass HTML-Anweisungen ja bekanntlich mit Anweisungen wie z.B. class=" " arbeiten. Wenn ich diese Anweisungen im echo-Befehl nutze, muss ich (um echo nicht wieder zu schließen) statt class=" " nun class=' ' schreiben.
Soweit schön und gut. Allerdings brauche ich bei folgender Anweisung noch die verschachtelten ' '-Anführungszeichen:
Heinweis: Auf die Anweisung thumbnailId achten.
Deswegen schließe ich also den PHP-Teil, nutze normales HTML und öffne den PHP-Teil neu, wenn ich Variablen einfügen oder andere Script-Sachen machen will. Das ist zwar unschön, funktioniert aber.
Fakt ist, zumindest macht das PHP-Script, so wie ich es momentan nutze das, was ich will.
Wenn ich mir den HTML-Code der generierten Seite ansehe, dann haut alles hin.
Und dennoch will das JS-Script nicht funktionieren. Im Firefox werden mir mittlerweile sogar teilweise einige Album-Cover (also die Links zu dem Highslide-Album) nicht mehr angezeigt, obwohl die Grafikadressen stimmen.
Ich hab es auch schon soweit geschafft, dass die Highslide-Gallerie gestartet wird mit einem Klick auf die Cover. Doch die Gallerie funktioniert nicht.
Als Referenz, ob die JS-Dateien alle ordentlich eingebunden sind, habe ich unten auf der Seite noch ein Album per Hand hingeschrieben, auch das funktioniert. Nur die per PHP erstellen Alben wollen einfach nicht.
Ich hoffe, ihr könnt mir irgendwie helfen.
Wenn ihr noch Fragen habt, dann immer her damit.
Angucken könnt ihr euch eine Vorschau von dem ganzen Spaß unter http://sorbenmafia.so.funpic.de/filmgruppe/?id=fotos
Und wer ohne viel WirrWarr sehen will, wie es funktionieren soll, der kann sich das per Hand geschriebene hier nochmal schön angucken: http://sorbenmafia.so.funpic.de/filmgruppe/?id=team
Gruß
Bond
Ich versuche für unsere Filmgruppe eine neue Internetseite zu Programmieren und modernen Glanz auf den Informationsgehalt zu projezieren.
Ich habe da noch mehrere Baustellen, aber die Gallerie ist meine schwierigste.
Ich habe mir für die Visualisierung das JS-Plugin Highslide integriert.
Die Nutzung des Plugins funktionierte wunderbar, bis zu dem Punk, wo ich mir das Eintippen jedes einzelnen Bildes in ungefähr folgendes Format per PHP ersparen wolle:
HTML:
<a class="highslide" id="thumb20" href="highslide/images/thumbstrip01.jpg" alt="Two cabins" onclick="return hs.expand(this, { slideshowGroup: 20 })">
<img src="highslide/images/thumbstrip01.thumb.png" alt=""/></a>
<div class="hidden-container">
<a class="highslide" href="highslide/images/thumbstrip02.jpg" alt="Patterns in the snow" onclick="return hs.expand(this, { thumbnailId: 'thumb20', slideshowGroup: 20 })">
<img src="highslide/images/thumbstrip02.thumb.png" alt=""/></a>
</div>
Um jetzt also nicht für jedes der mittlerweile schon 13 Alben mit jeweils 5-10 Bildern eine derartige Prozedur aufschreiben muss, habe ich mir ein PHP-Script integriert.
PHP:
<?php
$ordner = "bilder/setfotos";
$handle = opendir($ordner);
$galordner="";
$i=1;
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
$galordner[] = $ordner."/".$file;
}
}
closedir($handle);
arsort($galordner);
foreach($galordner as $value)
{
$handle = opendir($value);
while ($file = readdir ($handle)) {
if($file != "." && $file != ".." && $file != "name.php") {
if($tester==0)
{ ?>
<tr>
<td id="thumb"><a class="highslide" id="tumb<?php echo "$i";?>" href="<?php echo "$value/$file";?>" alt="test1" onclick="return hs.expand(this, { slideshowGroup: <?php echo "$i";?> })">
<img src="<?php echo "$value/$file";?>" width="200px" alt="" /></a>
<div class="hidden-container">
<?php }
else { ?>
<a class="highslide" href="<?php echo "$value/$file";?>" alt="test2" onclick="return hs.expand(this, { thumbnailId: 'thumb<?php echo "$i";?>', slideshowGroup: <?php echo "$i";?> })">
<img src="<?php echo "$value/$file";?>" alt="" /></a>
<?php }
$tester=1;
}
}
echo "</div></td>
<td id='title'>";
include ($value."/name.php");
echo "</td></tr>";
$i=$i+1;
$tester=0;
closedir($handle);
}
?>
Der Aufmerksame PHP-Leser wird jetzt laut fluchen: "Was schließt und öffnet dieses Idiot ständig die PHP-Anweisung mit <?php ?>.
Jaaa, ich würds gerne nur mit echo " "; machen.
Das Problem ist, dass HTML-Anweisungen ja bekanntlich mit Anweisungen wie z.B. class=" " arbeiten. Wenn ich diese Anweisungen im echo-Befehl nutze, muss ich (um echo nicht wieder zu schließen) statt class=" " nun class=' ' schreiben.
Soweit schön und gut. Allerdings brauche ich bei folgender Anweisung noch die verschachtelten ' '-Anführungszeichen:
HTML:
onclick="return hs.expand(this, { thumbnailId: 'thumb20', slideshowGroup: 20 })"
Deswegen schließe ich also den PHP-Teil, nutze normales HTML und öffne den PHP-Teil neu, wenn ich Variablen einfügen oder andere Script-Sachen machen will. Das ist zwar unschön, funktioniert aber.
Fakt ist, zumindest macht das PHP-Script, so wie ich es momentan nutze das, was ich will.
Wenn ich mir den HTML-Code der generierten Seite ansehe, dann haut alles hin.
Und dennoch will das JS-Script nicht funktionieren. Im Firefox werden mir mittlerweile sogar teilweise einige Album-Cover (also die Links zu dem Highslide-Album) nicht mehr angezeigt, obwohl die Grafikadressen stimmen.
Ich hab es auch schon soweit geschafft, dass die Highslide-Gallerie gestartet wird mit einem Klick auf die Cover. Doch die Gallerie funktioniert nicht.
Als Referenz, ob die JS-Dateien alle ordentlich eingebunden sind, habe ich unten auf der Seite noch ein Album per Hand hingeschrieben, auch das funktioniert. Nur die per PHP erstellen Alben wollen einfach nicht.
Ich hoffe, ihr könnt mir irgendwie helfen.
Wenn ihr noch Fragen habt, dann immer her damit.
Angucken könnt ihr euch eine Vorschau von dem ganzen Spaß unter http://sorbenmafia.so.funpic.de/filmgruppe/?id=fotos
Und wer ohne viel WirrWarr sehen will, wie es funktionieren soll, der kann sich das per Hand geschriebene hier nochmal schön angucken: http://sorbenmafia.so.funpic.de/filmgruppe/?id=team
Gruß
Bond
Zuletzt bearbeitet: