Archiv für den Oktober 2008
Typo3: Dateigröße automatisch im Link anzeigen lassen
Freitag, 24.10.2008Um auf einer mit dem CMS Typo3 betriebenen Webseite automatisch die Größe einer verlinkten Datei anzeigen zu lassen, nutzen Sie folgende Anpassungen:
Im TypoScript
Fügen Sie dem entsprechenden Typoscript folgende Zeilen hinzu:
page.includeLibs.user_classes = typo3conf/ext/anpassungen_t3/user_classes.php
lib.parseFunc_RTE {
tags {
link {
innerWrap.cObject = COA
innerWrap.cObject {
10 = TEXT
10.value = |
20 = USER_INT
20.userFunc = user_classes->fileSize
20.wrap = (|)
20.tilo.cObject = TEXT
20.tilo.cObject {
data = parameters : allParams
split {
token.char = 32
cObjNum = 1 |*| 2 |*| 2
1 {
current = 1
}
}
}
if.value = t3x,t3d,pdf,zip,rar,doc,wmv
if.isInList.cObject < .20.tilo.cObject
if.isInList.cObject {
split {
1 {
crop = -3
case = lower
}
}
}
}
}
}
}
Im hervorgehobenen Bereich können Sie die Dateiendungen angeben, auf die das Script reagieren soll.
Natürlich benötigen Sie noch die entsprechende PHP Klasse, welche im oberen Script referenziert wurde.
Speichern Sie die folgenden Zeilen unter “typo3conf/ext/anpassungen_t3/user_classes.php” ab:
<?php
class user_classes {
var $cObj;
function fileSize($content, $conf) {
$file = $this->cObj->TEXT($conf['tilo.']);
if (file_exists($file)) {
$fileSize = filesize($file);
if ($fileSize) {
$fileSize = t3lib_div::formatSize($fileSize, ' Byte| kB| MB| GB');
$fileSize = $conf['wrap'] ? $this->cObj->wrap($fileSize, $conf['wrap']) : $fileSize;
}
}
return $fileSize;
}
?>