Defaultní šablona formuláře @form.phtml

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

Lze nějak nastavit, aby se pro všechny formuláře použila defaultní šablona umístěná např. v app/templates/@form.phtml?

A ještě jedna otázka – existuje nějaký hezčí zápis než následující?

{include '@form.phtml', form => $presenter['form']}
Mikulas Dite
Člen | 756
+
0
-

Pokud zachováš pořadí parametrů, můžeš asociativní část vynechat, tedy volat latte přímo takhle:

{include '@form.phtml', $presenter['form']}
hanakus
Člen | 22
+
0
-

Jde alespoň nějak elegantně odkázat na globální šablonu formuláře? Mám to takhle, ale nelíbí se mi to:

{include '../../../templates/@form.phtml', $presenter['form']}
Mikulas Dite
Člen | 756
+
0
-

Můžeš jí asi dát do bloku a potom ho volat, ale podle mě by nikdy neměla nastat situace, kdy layout voláš z konkrétních template.

hanakus
Člen | 22
+
0
-

Mikulas Dite napsal(a):

…ale podle mě by nikdy neměla nastat situace, kdy layout voláš z konkrétních template.

To moc nechápu, mohl bys to trochu rozepsat?

Čeho chci dosáhnout – chtěl bych změnit defaultní vykreslování všech formulářů (z tabulky na def. seznamy nebo něco jiného). Jedna možnost je nastavit renderer v továrně v presenteru, ale to by znamenalo upravit to u všech formulářů. Další co mě napadá je zdědit si AppForm a tam to změnit. Nicméně raději bych použil šablonu, protože mi přijde flexibilnější než nastavování ConventionalRendereru. Tam je ale problém s tím, že to má jednak delší a ošklivější zápis (oproti makru widget) a taky se tam musí vypisovat ta cesta k šabloně. Nechystá se na toto podpora přímo ve frameworku?