Jak lze modifikovat HEAD?
- Kurtas
- Člen | 109
Ahoj,
jak mohu upravit html hlavičku <head> přímo v presenteru?
Například přes továrničku si udělám Form, kde mám textarea pro kterou
chci použít wysiwyg editor.
Takže musím do head vložit nějaké js a css, jak to udělat? Do šablon to
dávat nechci, chci aby to bylo součástí továrničky, připadně objektu
který tvoří tento Form.
Našel jsem jen addon HeaderControl ale myslím, že tohle je tak základní věc frameworku že to musí umět Nette v základu. Nebo se pletu?
Díky Kurtas
- Mikulas Dite
- Člen | 756
HeaderControl je na to stavěný. Ale jinak se tu už řešilo, že to není potřeba řešit, protože se to stejně nacachuje a další požadavky neproběhnou. Takže většina Nettistů (kdo ne?) to tahá všechno.
- 22
- Člen | 1478
A javascript patří imho na konec stránky a ne do head sekce… http://developer.yahoo.com/…erformanc_5/
- Mikulas Dite
- Člen | 756
Asi jsem to nezvýraznil, ale v Nette to více méně tak jak si to asi představuješ není. Pokuď to chceš řešit (?), tak použí ten addon, nebo si pro formuláře udělej tu šablonu, případně můžeš podědit defaultFormRenderer, abys to měl u všech – pak to ale bude u každého formu. Nebo můžeš v šabloně, ve které form renderuješ napsat něco takového
{block stylesheets}
<link ... form.css>
{/block}
{block content}
{control LoginForm}
...
a v @layout.latte
:
<head>
<link ...>
<script ...>
{block stylesheets}{/block}
</head>
to ale nebude měnit samotná komponenta, ale šablona, ve které se to vykresluje.
- joe
- Člen | 313
Něco podobného dělám tak, jako je to v #5, s použitím bloků, je to celkem jednoduchá cesta a navíc správná, HTML je tam, kde by mělo být – v šablonách.
A javascript patří imho na konec stránky a ne do head sekce
Skripty patří do hlavičky a všude tam, kde je potřeba. Z hlediska rychlosti (zpracování prohlížečem) je lepší například přímo v kódu po určitém uzavřeném bloku napsat
<script>initializeBlock();</script>
Než to dávat na konec stránky a nebo v horším případě do události onload.
Například pokud mám knihovnu na předělání formuláře (nahrazení za vlastní prvky), je lepší ten formulář změnit hned, když je v HTML uzavřený → málokdy se stane, že pak je vidět na chvíli originální formulář a pak ten změněný. Pokud to udělám v onload, vidím originální formulář a teprve potom ten nový. A takové změny před očima uživatele se mi teda vůbec nelíbí.
- Patrik Votoček
- Člen | 2221
22 napsal(a):
A javascript patří imho na konec stránky a ne do head sekce… http://developer.yahoo.com/…erformanc_5/
Pokud používáš async JS (nebo Head.js) tak to není pravda… :-) (chápu že v roce 2007 asi o async JS nevěděli)