komponenta a generovaná továrnička – error undefined method render
- cheli
- Člen | 2
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
komponenta musi mit render metodu. Pokud chces pouze vykreslit standardne formular, staci, aby vypadala nejak takto:
public function render()
{
$this['form']->render();
}
- ViPEr*CZ*
- Člen | 818
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ě ;-)