Zum Inhalt springen

Wie bindet Ihr css und javascript ein?

Erstellt am 12. März 2012 · 20 Antworten · letzte Antwort am 30. März 2012 · Seite 1 von 2

Tags: Frage

BFSven ·

Moin,

die Frage muss ich ja nicht wiederholen^^

Ich habe 2 Möglichkeiten dafür: Entweder im PHP, also Controller oder im HTML (z.B. Layout). Im Controller hatte ich es bisher in der initializeAction, damit ich es nicht für jede Action neu schreiben muss. Das führt aber bei fehlgeschlagenen Formularvalidierungen zum doppelten einbinden der Dateien (was wieder Fehler verursacht).

Wie handhabt Ihr das?

Danke für Auskünfte,
Sven

igorshmigor ·

Das ist elegant, aber ich finde es ärgerlich, dass Fluid nicht von sich aus einen solchen View-Helper mitbringt. Man sollte meinen, dass so etwas häufiger benötigt wird.

BFSven ·

An einen eigenen ViewHelper hab ich noch gar nicht gedacht, macht aber absolut Sinn. Ich würde sogar soweit gehen, dass ich nur die Datei angebe und - da ich meine Css immer in Public/Css speichere - der ViewHelper automatisch den Pfad ausliest.

<my:includeFile file="my-ext.css" />
<my:includeFile file="my-ext.js" />

Zur Not geht dann auch

<my:includeFile file="my-ext.css" path="EXT:news/Resources/Public/Css/Unterordner" />

Igor, lass uns doch einen Fluid-ViewHelper dafür schreiben und einreichen 😉

jousch ·
BFSven schrieb

An einen eigenen ViewHelper hab ich noch gar nicht gedacht, macht aber absolut Sinn. Ich würde sogar soweit gehen, dass ich nur die Datei angebe und - da ich meine Css immer in Public/Css speichere - der ViewHelper automatisch den Pfad ausliest.

<my:includeFile file="my-ext.css" />
<my:includeFile file="my-ext.js" />

Zur Not geht dann auch

<my:includeFile file="my-ext.css" path="EXT:news/Resources/Public/Css/Unterordner" />

Igor, lass uns doch einen Fluid-ViewHelper dafür schreiben und einreichen 😉

Wichtig definitiv ist das es auch für den Integrator nachher noch flexibel bleibt 😉

igorshmigor ·
BFSven schrieb

Igor, lass uns doch einen Fluid-ViewHelper dafür schreiben und einreichen 😉

Das hat doch der gute Georg schon gemacht. Der View Helper in seiner Extension ist doch schon ganz gut, so wie er ist. Den könnte das Fluid Team gerne übernehmen.

BFSven ·
igorshmigor schrieb

Das hat doch der gute Georg schon gemacht. Der View Helper in seiner Extension ist doch schon ganz gut, so wie er ist. Den könnte das Fluid Team gerne übernehmen.

Wenn die das mal machen würden 😉
Ich dachte nur man könnte es - wie oben beschrieben - ein bisschen einfacher schreiben, sodass ich nur noch die Datei angebe und der ViewHelper allein rausfindet, wo er die hernehmen soll (Convention over Configuration).

jousch ·

Ich finds mehr TYPO3 like, wenn man immer den gesamten Pfad angibt. Oder eben mit EXT:.... Das sind die Integratoren schon gewohnt 😉

jousch ·
BFSven schrieb

Du suchst nen Fulltime-Job?

Jepp, in Österreich. Am besten Wien, Wien-Umgebung 🙂

BFSven ·

Ganz toll, jetzt hab ich mich bei Twitter angemeldet .. Du bist schuld.

Wir sind leider in Potsdam/Berlin

jousch ·

Hehe! Sehr brav... kannst ja mal meine TYPO3 Liste durchgehn. Da sind einige Leute bereits drin, denen du folgen kannst 🙂

Aber nur Twitter ist wichtig... Sondern auch typo3.org, usw... forge... usw..

igorshmigor ·

Funktioniert das eigentlich bei Euch mit

$GLOBALS['TSFE']->getPageRenderer()->addJsFile($path, NULL, $compress);

für das Frontend? Das ist ja das, was in dem verlinkten tx_news View Helper verwendet wird.

Ich hatte das mal in einem kleinen Script getestet, ohne Erfolg. Die JavaScript-Datei wird nicht eingebunden. Habe jetzt aber auch nicht die News-Extension von Georg Ringer verwendet, die führt bei mir nur dazu, dass gar nichts mehr geht (leere Seite im BE und FE).

Mir scheint, dass addJsFile eigentlich für das Backend gedacht ist. Der normale Weg fürs Frontend ist ja eher

$GLOBALS['TSFE']->additionalHeaderData