komponenta a generovaná továrnička – error undefined method render

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

Ahojte,

vytvořil sem si komponentu(třídu) a továrničku(interface) dle článku, ale pokud v třídě komponenty nemám metodu render, tak vyskočí chyba (Call to undefined method …::render()). Vím, že je nejlepší vytvořit ke komponentě, taky její šablonu metodou render, ale zatím to pro formulář nepotřebuji, tak mě zajímá, jestli je to v Nette 2.4 již povinné nebo proč ta chyba nastává. Pokud třídu komponenty použiji bez továrničky, tak k chybě nedochází.

David Matějka
Moderator | 6445
+
+4
-

komponenta musi mit render metodu. Pokud chces pouze vykreslit standardne formular, staci, aby vypadala nejak takto:

public function render()
{
	$this['form']->render();
}
cheli
Člen | 2
+
0
-

David Matějka napsal(a):

komponenta musi mit render metodu. Pokud chces pouze vykreslit standardne formular, staci, aby vypadala nejak takto:

public function render()
{
	$this['form']->render();
}

Ok, díky,

ViPEr*CZ*
Člen | 818
+
0
-

Ještě doplním odkaz na API: https://api.nette.org/…Control.html
Control is renderable Presenter component.

K Presenteru by měla jít připojit i komponenta bez IRenderable rozhraní… viz.: https://api.nette.org/…ner.php.html#…

Ale vzhledem k tomu, že jde o formulář @DavidMatějka radí správně ;-)