Formulář v panelu – mimo Presenter
- Mikulas Dite
- Člen | 756
Ahoj,
chtěl bych do panelu vložit formulář pomocí továrničky. Místo od
\Nette\Object
jsem tedy dědil od
\Nette\Application\Control
. Formulář se vykreslí v pořádku,
ale handler/onSubmit nefungují (nezavolají se). Kromě toho, form má id
frm-
, což znamená, že nedostal jméno (?).
Továrnička http://pastebin.com/zJB88zx8.
Stačilo by nějak zaregistroval Control
do aplikace?
U presenterů se to děje automaticky, ale předpokládám, že tady bude
potřeba určit rodiče ve stromu manuálně.
- Mikulas Dite
- Člen | 756
Diky, každopádně když v továrničce formulář vracím, tak by se měla zaregistrovat v pořádku. Zkoušel jsem ale i variantu s
createComponentForm($name)
{
$form = new AppForm($this, $name);
return $form;
}
Ani jedno formulář nepojmenuje – chybu mám někde jinde.
Editoval Mikulas Dite (31. 10. 2010 10:32)
- Mikulas Dite
- Člen | 756
Aha, už jsem na to přišel. Stačí zaregistrovat panel (potažmo Control) do aplikace.
public function __construct()
{
parent::__construct(\Nette\Environment::getApplication()->presenter, $this->reflection->shortName);
}
Editoval Mikulas Dite (31. 10. 2010 10:51)