Forms\Form – setDefaultRenderer()

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

Nepřišel jsem na žádný způsob, jak nastavit jiný DefaultRenderer bez nutnosti dědění Forms\Form nebo UI\Forms.

Dalo by se to udělat přes extension method, kdyby Forms podporovaly nějaký event při vytváření formuláře nebo kdyby sama měla tuto funkci jako statickou, ale to by asi nebylo ideální.

Moc by se mi tato funkčnost hodila. Napadá vás nějaké řešení?

Filip Procházka
Moderator | 4668
+
0
-
services:
	formsRenderer: BootstrapRenderer

factories:
	nette.form: # už je přímo v nette, takže jen doplníme
		setup:
			- setRenderer(@formsRenderer)
$form = $context->nette->createForm();

Editoval HosipLan (13. 6. 2012 12:42)

LeonardoCA
Člen | 296
+
0
-

Ano, takhle to jde. Ale jde mi o možnost vytvořit Addon bez nutnosti psát návod, že k vytvoření formuláře je potřeba použít.

$form = $context->nette->createForm();

Aby se po přidání addonu všechny formuláře renderovaly automaticky s BootstrapRender bez ohledu na to jak jsou vytvořené. (pokud se to explicitně nevypne v nastavení addonu)

nebo to špatně chápu a tímto se to zajistí?

Editoval LeonardoCA (13. 6. 2012 13:13)

Filip Procházka
Moderator | 4668
+
0
-

To bys musel nějak staticky hackovat. A to není nikdy cesta.