[TYPO3-german] Viehelper für Ausgabe der Endung einer Datei
Philipp Holdener
philipp.holdener at me.com
Tue Nov 4 17:33:32 CET 2014
Hallo Bernd
> das erinnert mich an was [1].
> das habe ich aber nicht per fluid gelöst, sondern nacktes Typoscript
>
>
> in typoscript ist die Größenberechnung für Dateien nämlich sehr viel
> einfacher:
>
> für den f:cObject-Viewhelper:
> lib.filesize = TEXT
> lib.filesize {
> current = 1
> bytes = 1
> bytes.labels = " Bytes| KB| MB| GB"
> }
>
> und die datei-Extension habe ich relativ hardcoded entfernt (ich hatte
> ja auch nur Dateien mit genau dreistelligen Erweiterungen ausgewählt).
>
> genauso könnte man sie natürlich auch extrahieren:
>
> lib.fileExtension = TEXT
> lib.fileExtension {
> current = 1
> orderedStdWrap {
> # nur Dateiendung:
> 10.substring = -3,255
> 20.case = upper
> }
> }
>
> natürlich könnte man das auch ganz dynamisch lösen.
> dazu nimmt man ein split an Punkten und nimmt nur das letzte Element
> (ungetestet)
>
> lib.fileExtension = TEXT
> lib.fileExtension {
> current = 1
> split {
> token = .
> cObjNum = 1 |*| 1 |*| 2
> 2 {
> current = 1
> case = upper
> }
> }
> }
>
> Falls man schon irgendwo eigene Viewhelper definiert hat ist allerdings
> auch ein eigener Viewhelper nicht so kompliziert:
>
> class Tx_MyVh_ViewHelpers_File_ExtensionViewHelper extends
> Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
>
> /**
> * Returns name component of path without extension
> *
> * @param string $data given path
> *
> * @return string trailing name.
> */
> public function render( $data = NULL ) {
> if( $data === null ) {
> $data = $this->renderChildren();
> if( $data === null ) {
> return '';
> }
> }
> $path_parts = pathinfo( $data );
> return $path_parts['extension'];
> }
> }
>
>
>
>
> [1] http://pi-phi.de/343.html
>
Besten Dank für deine Antwort.
Ich bin leider erst gerade von Templavoila und FCE auf Fluid/DCE
umgestiegen und kenn mich damit noch nicht wirklich aus.
Eigene Viewhelper wüsste ich zbsp nicht wie anlegen.
Müsste es denn nicht mit diesem Viewhelper gehen?
https://fluidtypo3.org/viewhelpers/vhs/master/Media/ExtensionViewHelper.html
Analog berechne ich ja die Grösse der Datei mit vhs:media.size
Gruss
Philipp
More information about the TYPO3-german
mailing list