Wie bindet Ihr css und javascript ein?

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    12. 03. 2012, 11:54

    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


  • jousch jousch
    Jedi-Meister
    0 x
    321 Beiträge
    1 Hilfreiche Beiträge
    15. 03. 2012, 09:57

    Ist es nicht sowieso besser aufgrund der Flexibilität CSS nur im FLUID-Template einzubinden?

    Georg Ringer macht es so in tx_news: [url=http://git.typo3.org/TYPO3v4/Extensions/news.git?a=blob;f=Classes/ViewHelpers/IncludeFileViewHelper.php;h=c04f476cca44ffd060817ec46052576660874204;hb=323224f17f53c5fe4b9168ef428657f7bc3c7967]IncludeFile Viewhelper der tx_news Extension auf git.typo3.org[/url]
    Einbinden dann per:

    1. <n:includeFile path="EXT:news/Resources/Public/Css/news-basic.css" />

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 03. 2012, 10:04

    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 BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    15. 03. 2012, 10:20

    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.

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

    Zur Not geht dann auch

    1. <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 jousch
    Jedi-Meister
    0 x
    321 Beiträge
    1 Hilfreiche Beiträge
    15. 03. 2012, 10:20

    Mhm. Ich installier bei aktuellen Projekten auch immer ext:fed, die bietet sehr viele brauchbare ViewHelper :)

    http://fedext.net/fed-viewhelpers/pagerenderer/javascript.html (z.B. auch eine Variante fürs JS einbinden)

  • jousch jousch
    Jedi-Meister
    0 x
    321 Beiträge
    1 Hilfreiche Beiträge
    15. 03. 2012, 10:21

    [quote="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.

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

    Zur Not geht dann auch

    1. <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 ;)
    [/quote]

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

  • igorshmigor igorshmig...
    Jedi-Ratsmitglied
    0 x
    941 Beiträge
    0 Hilfreiche Beiträge
    15. 03. 2012, 10:30

    [quote="BFSven"]
    Igor, lass uns doch einen Fluid-ViewHelper dafür schreiben und einreichen ;)
    [/quote]
    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 BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    15. 03. 2012, 14:16

    [quote="igorshmigor"]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.[/quote]
    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 jousch
    Jedi-Meister
    0 x
    321 Beiträge
    1 Hilfreiche Beiträge
    15. 03. 2012, 14:37

    Ich finds mehr TYPO3 like, wenn man immer den gesamten Pfad angibt. Oder eben mit [i]EXT:...[/i]. Das sind die Integratoren schon gewohnt ;)

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    15. 03. 2012, 15:12

    [quote="josDesign"]
    Mhm. Ich installier bei aktuellen Projekten auch immer ext:fed, die bietet sehr viele brauchbare ViewHelper :)

    http://fedext.net/fed-viewhelpers/pagerenderer/javascript.html (z.B. auch eine Variante fürs JS einbinden)
    [/quote]
    f**k, manchmal laufen so tolle sachen an mir vorbei #angry#