Nelze přidat Control přes addComponent u formuláře
- manwe
- Člen | 44
Zdravim.
Mam form, do ktereho chci pridat komponentu, ktera bude obsahovat dalsich par
inputu (predstavuje radek v nejakem seznamu polozek), ktery bych pote chtel mit
moznost multiplikovat dle poctu radku.
Udelal jsem si tedy dle prikladu https://github.com/…nentsExample
tridu
<?php
class DocumentReportItemRow extends \Nette\Application\UI\Control {
public function render(){
bd('ahoj');
$this->template->setFile(__DIR__.'/row.latte');
$this->template->render();
}
}
?>
Kdyz ji vsak pridam do formulare
<?php
$f = new Form();
...
$f->addGroup('Položky faktury');
$f->addComponent( new \DocumentReportItemRow(), 'test' );
?>
tak mi Nette hlasi chybu IControl or Container items expected, DocumentReportItemRow given.
Kdyz tam addGroup nedam (coz chci), tak mi to chybi nezahlasi, ale komponenta
se vubec nevykresli.
Zacinam z toho sednout, netusim kde muze byt problem. V tom Examplu vypada ze
to normalne funguje, kdyz se to ale pokousim dat do Formu tak to nejede…
Diky za radu.
- David Matějka
- Moderator | 6445
ahoj, bohuzel to nijak snadno nejde. formular muze obsahovat jen dalsi formularove prvky a kontejnery
- jiri.pudil
- Nette Blogger | 1032
Zkusil bych ComponentControl z nextras/forms. Nemám s ní vlastní zkušenost, ale vypadá, že by mohla umět něco podobného tomu, co potřebuješ :)