[Frage] [Frage] Fluid: ViewHelper zur Ausgabe diverser Informationen einer File Reference TYPO3-Version: 6.1.0

  • dachande dachande
    T3PO
    0 x
    10 Beiträge
    1 Hilfreiche Beiträge
    30. 10. 2013, 13:55

    Hallo,

    mittlerweile Stecke ich mit meinem Problem wirklich fest und hoffe, dass mir jemand weiterhelfen kann. Ich beschreibe hier mal kurz die Problematik:

    Ich habe mir eine kleine Extension geschrieben, um eigene Content-Elemente zu bauen (nach dem Vorbild der [url=https://github.com/benjaminkott/bk2k_content_elements]bk2k_content_elements Extension[/url]). Diese Funktioniert auch soweit prima. Eines der gebauten Content-Elemente benutzt u.a. das media Feld der tt_content Tabelle für Datei-Referenzen. Diese nutze ich, um Dokumente verschiedener Art (PDF, Doc, etc.) an den Content-Typ zu hängen.

    Jeder Content-Typ besitzt sein eigenes Fluid Template für die Frontendausgabe. Die Ausgabe des Content-Elements selbst klappt prima.

    Um an die Datei-Referenz zu kommen (da das media Feld in der tt_content Tabelle lediglich mit einem Zähler gefüllt ist, der sagt, wieviele Datei-Referenzen vorhanden sind) nutze ich den FalViewHelper der o.g. Extension. Somit erhalte ich im Endeffekt in einer Fluid-Variable die Datei-Referenz in der Struktur der sys_file_reference Tabelle, welche u.a. die UID (uid_local) aus der sys_file Tabelle enthält.

    Somit hätte ich nun theoretisch Zugriff auf besagte Datei der Referenz, jedoch fehlt mir jetzt ein passender ViewHelper (ähnlich dem ImageViewHelper <f:image> ) über den ich letztendlich an alle Details der Referenzierten Datei, nämlich den Inhalt der Tabelle sys_file, komme.

    Gibt es hierfür vielleicht bereits einen passenden ViewHelper oder hat jemand ggf. bereits etwas dergleichen entwickelt? Oder muss ich hier doch selbst Hand anlegen um zum gewünschten Ergebnis zu kommen?

    Zugegeben finde ich es etwas komisch, dass die TYPO3 Entwickler selbst noch keine Sammlung an ViewHelpern für FAL zusammengestellt haben, obwohl FAL mittlerweile ja ein zentraler Bestandteil von TYPO3 darstellt.

    Ich danke schonmal für Eure Hilfe und freue mich auf Antworten :)


  • 1
  • dachande dachande
    T3PO
    1 x
    10 Beiträge
    1 Hilfreiche Beiträge
    30. 10. 2013, 14:23

    Natürlich habe ich noch weiter gestochert und bin nun mit etwas Grips doch selbst auf die Lösung gekommen. [url=http://wiki.typo3.org/File_Abstraction_Layer#Get_linked_images_from_a_content_element]Hier steht die Lösung[/url]

    nachdem ich die Referenz über das fileRepository->findByRelation() bekommen habe hole ich mir für alle Referenzen die Detailinformationen mittels getReferenceProperties() bzw getOriginalFile()->getProperties()

    Hier der Codeschnipsel, auf den es ankommt:

    1. $items = $this->fileRepository->findByRelation($table, $field, $data['uid']);
    2. $files = array();
    3.  
    4. if (is_array($items)) {
    5. foreach($items as $key => $value) {
    6. $files[$key]['reference'] = $value->getReferenceProperties();
    7. $files[$key]['original'] = $value->getOriginalFile()->getProperties();
    8. }
    9. }

    den Teil mit getReferenceProperties() kann man sich, wenn man möchte, auch schenken, denn das gibt nur die Referenz selbst zurück, wie ich sie bereits im $items Array stecken habe.

  • 1