Hi,
ich habe das Header Modul kurz so umgebaut, dass alle Bilder des ausgewählten Ordners anzeigt werden. Kann also als Basis für eine Bildergalerie genutzt werden, die im Editor Modus konfigurierbar ist. Für meine Zwecke reicht das vorerst.
Aber, weiß jemand wie ich den Pfad zum Bilder Ordner direkt bekomme? Ich bastel mir den hier aus dem Bildpfad $sImg zusammen. Nicht wirklich gut gelöst. Eigentlich müsste es ja ohne $sImg gehen.
Output:
Code: Alles auswählen
<?php
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
if ($edit) {
echo '<p style="background: green;">Gallery</p>';
}
try {
$sImgEdit = "CMS_IMGDESCR[1]";
$sImg = "CMS_IMG[1]";
if ($contenido && $edit) {
echo '<div id="modHeaderImgEdit" style="display: inline-block;">'.$sImgEdit.'</div>';
}
if ($sImg != '') {
$folder_url = dirname($sImg);
$folder_url_strip1 = parse_url($folder_url);
$folder_url_strip2 = $folder_url_strip1['path'];
$folder_url_strip3 = str_replace("/cms/", "", $folder_url_strip2);
$folder_dir = scandir($folder_url_strip3);
$files = array_diff($folder_dir, array('.', '..'));
$tpl->reset();
foreach($files as $datei)
{
$tpl->set('d', 'image', $datei);
$tpl->set('d', 'url', $folder_url_strip3."/");
$tpl->next();
}
$tpl->generate('templates/tmp_gallery.html');
}
else { if ($edit) {
echo '<div style="background: red; display: inline-block;">no Picture selected</div>';
}}
} catch (InvalidArgumentException $eI) {
echo 'Some error occured: ' . $eI->getMessage() . ': ' . $eI->getFile() . ' at line '.$eI->getLine() . ' ('.$eI->getTraceAsString().')';
} catch (Exception $e) {
echo 'Some error occured: ' . $e->getMessage() . ': ' . $e->getFile() . ' at line '.$e->getLine() . ' ('.$e->getTraceAsString().')';
}
?>
Template Beispiel: tmp_gallery.html
Code: Alles auswählen
<div>
<!-- BEGIN:BLOCK -->
<img src="{url}{image}" alt="" />
<!-- END:BLOCK -->
</div>
Die Konfiguration des Moduls kann in der include.CMS_IMG.php angepasst werden.
Werd mich demnächst mal näher damit beschäftigen. Nochmal danke Ortwin für die Erklärung.
Grüße
R