include jquery knihovny, proč je až na konci @layout

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kloban
Člen | 123
+
0
-

Ahoj,
jquery knihovna se v layoutu includuje až úplně nakonec (https://github.com/…layout.latte), což znamená, že žádný jquery kód nemůžu mít přímo v šablonách. Kam by se měl tedy správně dávat a jaký to má důvod?
Díky Dan

Jiří Nápravník
Člen | 710
+
0
-

Můžeš si ho klidně přesunout do head. Nicméně doporučuje se všechny javascripty umisťovat na konec, ať nebrzdíš vykreslování v prohlížeči.

obecně se nedoporčuje mít v šablonách javascripty. Je lepší to zabalit do externího souboru, ať se to může cachovat apod.

Felix
Nette Core | 1245
+
0
-

Z hlediska spravneho rozdeleni kodu, bys ho ani nemel mit v sablonach. Pripadne muzes vyuzit nejaky addony jako je treba WebLoader nebo nejaky javascriptovy loadery treba pres Modernizr.

kloban
Člen | 123
+
0
-

Díky za info.
Mohli byste mi někdo prosím popsat podrobněji, jak to nejlépe řešit. Nebo mě nějak konkrétněji nasměrovat.
Dělám v Nette první aplikaci a zatím moc nevím která bije.

MartinitCZ
Člen | 580
+
0
-

Pokud chci mít js přímo v šabloně, tak to řeším pomocí bloků.

Na konec layoutu si hodim {block js}{/} a v šablonách {define js}{include::parent}…moje..js…{/}

Mysteria
Člen | 797
+
0
-

Prostě si udělej soubor třeba main.js, ten si přidej do @layout.latte jako další JS soubor (až za jQuery) a do něj pak piš veškerej JS místo do šablon.

kloban
Člen | 123
+
0
-

Do šablon to tedy dávat nebudu a hodím to nakonec @layoutu. Akorát zas vidím jako nevýhodu, že se js bude načítat na všech stránkách a používat se bude jen na pár.

Jan Mikeš
Člen | 771
+
0
-

@kloban: To by nemelo vadit, protoze si to zacachuje prohlizec, takze by se to nemelo stahovat znova.