Hallo,
ich suche eine Lösung um Javascript-Dateien aus einem Fluid Template heraus einzubinden. Die ganz normale Syntax über "<script...." ist allerdings nicht das was ich suche.
Ich würde die Dateien gerne mit in den "ordentlichen" Ablauf unter page.includeJs.... bringen. Das geht natürlich über den die Action im Controller, damit führe ich aber in meinem Fall die Trennung zwischen Logik und Design ad absurdum, da die JS Files ausschliesslich mit der Darstellung zu tun haben und ggf. bei der Verwendung eines anderen Templates gar nicht genutzt werden.
Hat irgendjemand eine Idee?
Danke erstmal, werde ich morgen probieren. Auf dem ersten Blick fehlen die Config Optionen für compress und concentation oder habe ich das übersehen?
Klappt ganz gut, hat aber den grossen Nachteil, das die gemergten Daten nicht mehr mit gzip komprimiert zum Client übertragen werden.
Gibt es dafür eine Lösung?
Die Komprimierung kannst du bspw. über die .htaccess erzwingen, sofern dein Webspace mod_gzip unterstützt:
https://www.feedthebot.com/pagespeed/enable-compression.html
So,
eine kurze Zusammenfassung meiner Umsetzung. Ich benutze jetzt die erwähnten Newshelper, damit das ganze sinnvoll ist, nutze ich die VHS Assets Funktionen auch im Typoscript zum einbinden von JS & CSS.
Die Übertragung von gzip komprimierten Daten habe ich auf Servierseite über die .htaccess aktivieren können, allerdings musste ich die folgende Konfiguration nehmen.
<IfModule mod_deflate.c>
# these are known to be safe with MSIE 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml
# everything else may cause problems with MSIE 6
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
AddOutputFilterByType DEFLATE application/rss+xml
</IfModule>
Funktioniert alles ganz gut, allerdings werde die per TS eingebundenen und die per Fluid eingebundenen Javascriptdateien zu zwei gemergten Dateien, da bin ich noch dran.