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



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an