Extension Css_Filelinks mit TYPO3 6.2 Update

Logo TYPO3 CMS Wieder eine Extension weniger. Juchhuuu... Manchmal muss man die Sache einfach positiv sehen, wenn auch css_filelinks beim Update auf TYPO3 6.2 Probleme macht. Weg damit! Jede zusätzliche Extension macht unter Umständen beim nächsten Update wieder Ärger. Das ist leider so und wird sich wohl auch in Zukunft nicht ändern. Es hat also auch etwas Positives, wenn man durch ein Update gezwungen wird eine andere Lösung zu finden, die mit TYPO3-Core-Funktionalitäten auskommt. So ging es uns mit css_filelinks. Da diese Extension aktuell nicht unter TYPO3 6.2 läuft, mussten wir uns was einfallen lassen. Eigentlich, war es gar nicht so schwer. Es gibt ja schon ein Rendering für Dateilinks in TYPO3. Auch wenn's kein schönes ist. Ein kleines Typoscript-Snippet war die Lösung. Dieses deckt unsere Bedürfnisse voll und ganz und kann jederzeit einfach erweitert werden. Schaut selbst:

TypoScript


tt_content.uploads {
  wrap = 
  # Unser neues COA
  200 = COA
  200 {
    10 = FILES
    10 {
      references {
        table = tt_content
        fieldName = media
      }
      renderObj = COA
      renderObj {
        wrap = 
|
100 = TEXT 100 { # Bildbeschreibung der aktuellen Datei auslesen data = file:current:description wrap = | # Link bauen, falls die Datei verlinkt ist typolink { parameter.data = file:current:publicUrl fileTarget = _blank # und noch einen title Tag für den Link title.dataWrap = Datei {file:current:description} herunterladen } } } } } # altes Rendering von Dateilinks löschen 20 > }
Diese TS einfach in Euer TypoScript-Setup einfügen und gut. Keine Extension mehr nötig, keine php-Userfunc oder Ähnliches und vor allem kein Ballast an HTML, das man sowieso meistens nicht braucht. Falls ihr zusätzliche Daten der Dateien (Größe etc.) braucht oder andere Felder ausgeben wollt, hier ein kleiner Hinweis auf die passende Stelle in der TS-Ref. http://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Gettext/Index.html?highlight=gettext#file Hier findet Ihr alles, was Ihr auslesen könnt. Nun viel Spass beim Ausprobieren und hoffentlich eine Sorge weniger beim Update auf TYPO3 6.2 ;-).

Kommentare

[…] […]

leider wurden die html tags scheinbar beim upload entfernt, so ist der code unbrauchbar - anbei eine enkodierte version.

tip: dekodieren auf http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Decode.aspx

### [ts] css_filelinks -- anfang

tt_content.uploads {

wrap = <div class="downloads">|</div><div style="height:20px;"></div>

# Unser neues COA

200 = COA

200 {

10 = FILES

10 {

references {

table = tt_content

fieldName = media

}

renderObj = COA

renderObj {

#wrap = <div>|</div>

100 = TEXT

100 {

# Bildbeschreibung der aktuellen Datei auslesen

data = file:current:size

bytes.labels = Byte | kB | MB | GB

#wrap = <span>|</span>

innerWrap.dataWrap = <span class="name"><span class="icon {file:current:extension}"></span>{file:current:description}</span><span class="date">{file:current:name}</span><span class="size">|

# Link bauen, falls die Datei verlinkt ist

typolink {

ATagParams = class="row"

parameter.data = file:current:publicUrl

fileTarget = _blank

# und noch einen title Tag für den Link

title.dataWrap = Datei {file:current:name} herunterladen

}

}

110 = TEXT

110 {

value=</span>

}

}

}

}

# altes Rendering von Dateilinks löschen

20 >

}

### [ts] css_filelinks -- ende

@typohosting: danke!

danke erstmal! ist sehr hilfreich!

mit dieser variante könnt ihr das stylesheet von css_filelinks beibehalten, alles wird gleich (oder besser) angezeigt aber eben nur typoscript nötig. 2 cents sponsored by typohosting.at :)

<pre lang="typoscript">

### [ts] css_filelinks -- anfang

tt_content.uploads {

wrap = |

# Unser neues COA

200 = COA

200 {

10 = FILES

10 {

references {

table = tt_content

fieldName = media

}

renderObj = COA

renderObj {

#wrap = |

100 = TEXT

100 {

# Bildbeschreibung der aktuellen Datei auslesen

data = file:current:size

bytes.labels = Byte | kB | MB | GB

#wrap = |

innerWrap.dataWrap = {file:current:description}{file:current:name}|

# Link bauen, falls die Datei verlinkt ist

typolink {

ATagParams = class="row"

parameter.data = file:current:publicUrl

fileTarget = _blank

# und noch einen title Tag für den Link

title.dataWrap = Datei {file:current:name} herunterladen

}

}

110 = TEXT

110 {

value=

}

}

}

}

# altes Rendering von Dateilinks löschen

20 &gt;

}

### [ts] css_filelinks -- ende

</pre>


Kommentar schreiben

* Diese Felder sind erforderlich