Zum Inhalt springen

Spezielle Bilderauswahl

Erstellt am 22. August 2011 · 1 Antwort · letzte Antwort am 24. August 2011

Tags: Frage

simonreger ·

Hallo,

wie lässt sich folgendes umsetzen? Siehe Anhang.
Beschreibung: Wenn ich ein Projekt auswähle soll rechts der Text stehen und darunter eine Auswahlmöglichkeit von Fotos. Diese Fotos liegen dann z.b. unter /image/Projekt1/
Die Auswahlliste soll sich selber generieren über die Anzahl der Bilder die im Ordner "Projekt1" liegen. Links soll dann das ausgewählte Foto angezeigt werden. Ist das verständlich was ich meine?
Für diesen Fall wird es wohl keine Extension geben. Wie lässt sich sowas mit TS umsetzen?

Danke für die Hilfe.

SKMBT_C35311082208060.pdf
12kB
Chrissli ·

Herzlichen Dank für die tolle Zeichnung,

hatte ich heute doch noch was zu lachen #giggle#

Ich bin mir nicht sicher ob das mit TS geht, da damit
primär Inhalte aus einer (Typo3-)Datenbank ausgelesen und gerendert werden.

Was du willst ist Ordnerinhalte auslesen, das wird mit reinem TS vermutlich nicht funktionieren.

Wenn du weißt wie man ein USER_INT verwendet könntest du dir eine PHP-Klasse erstellen und beispielsweise
den Seiten-Alias als Parameter übergeben um den zugehörigen Bildordner zu definieren.

etwas so:

page.includeLibs = fileadmin/scripts/user_imgFolder.php

page.15 = USER_INT
page.15 {
 userFunc = user_ImgFolder->main
 project_folder = TEXT
 project_folder.field = alias
}

Nagel mich bitte nicht auf das TypoScript fest, das benutze ich nur selten aus dem Kopf raus.
Vielleicht kann das jemand korrigieren wenn da n Fehler drin ist...

Die PHP-Datei sieht dann etwa so aus:

<?php
//z.B. Datei fileadmin/scripts/user_imgFolder.php   der Dateiname user_ ist wichtig
class user_imgFolder {
  function main($content,$conf) { //content ist der aktuelle content, conf die per USER_INT uebergebenen parameter 
    $folder = @dir($conf['project_folder'];
    if($folder) {
      while($line = $folder->read()) {
        if($line[0] != '.') { $images[] = $line; } // verhindert das auslesen versteckter dateien
      }
      $folder->close();
    }

    if(isset($images)) {
      foreach($images as $image) {
        $output[] = '<div class="project_image">'.$image.'</div>'; //was auch immer mit den Bilder passieren soll
      }
      $content .= $output;
    }
    return $content;
  }
}
?>

Ich hoffe das genügt dir als Denkansatz