TYPO3 / Fluid: Zugriff auf File Reference Title, Description, Name etc.

Hier ein bisschen schnelles Know How für Zwischendurch. Vielen wird das Problem vielleicht gar nicht bekannt sein, weil sie instinktiv korrekt auf die Eigenschaften von File References des File Abstraction Layer (FAL) zugreifen. Allerdings kann hierbei das Debuggen für Verwirrung sorgen.

Debug einer File Reference

Debug einer File Reference

Möchte man innerhalb eines Fluid Templates auf Eigenschaften einer Datei bzw. File Reference zugreifen und debuggt diese zunächst, so ist das Ergebnis ernüchternd (siehe Screenshot).

Die Daten auf die man Zugriff haben will, können natürlich sowohl in der Original-Ressource liegen, aber auch in der Referenz überschrieben worden sein. Wie nun also korrekt auf die Eigenschaften zugreifen?

{fileReference.propertiesOfFileReference.title}

Dieser Zugriff funktioniert nicht einmal.

Die Lösung ist relativ einfach, wenn man sich das Model einer File Reference in der TYPO3 API einmal genauer anguckt, so sieht man das allerlei Getter-Funktionen zur Verfügung stehen wie zum Beispiel für Titel, Description, Name, Typ, Size und vieles mehr.
Diese Eigenschaften werden in dem Debug allerdings nicht angezeigt, weswegen man einen Aufruf wie zum Beispiel:

{fileReference.title}

vielleicht gar nicht erst probieren würde. Genau so kann und wird es jedoch gemacht und man kann per Punktnotation auf alle Getter des Models zugreifen. Viel Spaß 🙂

5 Kommentare

  • Hi Paul! Bei mir geht es nicht mit „FileReference.title“, sondern nur mit „FileReference.originalResource.title“. Vielleicht wurde in TYPO3 7 mittlerweile was geändert. Trotzdem danke für den Post 😉

    • Deine FileReference dürfte eine Instanz von \TYPO3\CMS\Extbase\Domain\Model\FileReference gewesen sein. Mit originalResource bekommst du dann eine Instanz von \TYPO3\CMS\Core\Resource\FileReference, von der du dann die Eigenschaften auch lesen kannst.
      Ich stand vor dem gleichen Problem und hab den Zusammenhang erst mit dem Debugger verstanden.

  • Das ganz vorne kommen, wenn man nach „propertiesOfFileReference“ googelt.

  • Das ganze geht auch so:

    {file.referenceProperties.[...]}

    also z.B.

    {file.referenceProperties.description}
    {file.referenceProperties.mein_eigenes_feld}
    
  • Alexandre Berezovski

    Hat jemand das Mechanismus auch mit Fremdsprachen ausprobiert (z.B. L=1)?
    Es scheint nicht zu funktionieren, bei mir mindestens hat das nicht geklappt: kommt immer Hauptsprache (in meinem Fall Deutsch).

    Wer könnte darüber etwas nützliches berichten?

Schreibe einen Kommentar zu Alexandre Berezovski Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Highlighting von Codes ist mit den Tags  [ts], [php], [html], [javascript], [xml] oder [code] möglich.