Jak vložit kus kodu do hlavicky z komponenty

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

Dobrý den,

narazil jsem na jeden problém při práci s komponentami, a to jest ten, že nevím jak dostat např. javascript do hlavičky stránky, jelikož {block …} zde nefunguje, nicméně bych řekl že tohle není nijak neobvyklý problém a určitě má nějaké jednoduché řešení. Zkoušel jsem hledat ale nikde jsem nenašel řešení tohoto problému. Budu rád za jakoukoliv radu :-)

Děkuji,
tbx

Majkl578
Moderator | 1364
+
0
-

Komponenta by z principu neměla vědět o tom, jak bude použita. Jako možné řešení se proto jeví (pomineme-li robustnější řešení, např. pomocí nástrojů ala WebLoader) použít dva pohledy, tj. mít dvě metody na vykreslení:

  1. renderHeader(), jež vykreslí tu část, která patří do hlavičky (v šabloně presenteru ji tam pak patřičně umístíš),
  2. render() popř. renderBody(), jež vykreslí normální část.

Tohle řešení je použitelné až do chvíle, kdy budeš potřebovat AJAX a invalidace – tam totiž více render metod nefunguje…

Šaman
Člen | 2666
+
0
-

Je to běžný problém, ale jednoduché a čisté řešení nemá. Buď použiješ nějaké komplexní řešení, nebo jednoduše nepřihazuješ scripty do hlavičky, ale přímo do kódu.

tbx
Člen | 5
+
0
-

Ok, děkuji za rady :-)