WBCE CMS – Way Better Content Editing.
You are not logged in.
Pages: 1
Hallo an alle, ich stehe grade PHP-mäßig etwas auf der Leitung.
Folgendes, ich habe einen Order "Produktionen" im Medienordner. Dieser enthält Unterordner und diese wiederum Fotos.
Ich möchte nun gern ein Droplet, welches die Fotos ausgibt. So soll das aussehen:
<div class="item active"> /* "item active" nur beim allerersten Bild, sonst nur "item" */
<img class="full-width img-responsive" src="URL_zum_Bild" alt="">
</div>
Zu beachten gibt es, dass jeder Ordner eine Datei "Header.jpg" und die von Websitebaker selbst angelegte "index.php" enthält. Diese sollen nicht ausgegeben werden.
Soweit bin ich schonmal:
$ordner = ( (isset($ordner) && ($ordner!='') ) ? $ordner : '');
$verzeichnis = opendir(WB_PATH.MEDIA_DIRECTORY.'/Produktionen/'.$ordner.'/.');
$bilder = array();
while ($datei = readdir($verzeichnis)) {
if ($datei!='Header.jpg'){
$bilder[count($bilder)] = $file;
}
}
closedir($verzeichnis);
Und wie jetzt weiter?
Danke im voraus für Eure Hilfe
Last edited by hansklok (21.01.2017 20:31:37)
Offline
Ich würde das ungefähr so angehen:
$ordner = ((isset($ordner) && ($ordner!='')) ? $ordner : '');
$bilder_ordner = MEDIA_DIRECTORY.'/Produktionen/'.$ordner.'/.';
$filter = array('..', '.', 'index.php', 'Header.jpg'); // was nicht gebraucht wird
$bilder = array_diff(scandir(WB_PATH.$bilder_ordner), $filter);
$bilder = array_merge($bilder); // damit der Index wieder bei 0 beginnt
$output = '';
foreach ($bilder as $key => $bild) {
$active = ($key == 0) ? 'active' : ''; // active für 1.Bild
$output .= '<div class="item '.$active.'">';
$output .= '<img class="full-width img-responsive" src="'.WB_URL.$bilder_ordner.$bild.'" alt="">';
$output .= '</div>';
}
return $output;
Last edited by bernd (22.01.2017 14:27:34)
... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...
Offline
hansklok, florian
Dankeschön Bernd, das war genau das, was ich gesucht habe. Sehr nachvollziehbar kommentiert und geschrieben.
Offline
Pages: 1