Multiplier a defaultní hodnoty (vyhazuje undefined method)
- Thommie
- Člen | 34
Ahoj,
vytvářím formulářovou komponentu přes multiplier:
presenter
protected function createComponentFormKategorie() {
$multi = new Multiplier(function($id) {
return $this->formKategorieFactory->create();
});
return $multi;
}
a potřebuji je naplnit defaultními hodnotami. Ale když použiju v render metodě presenteru:
$this['formKategorie'][73]->setDefaults(array("nazev" => "neco"));
tak mi to vypíše: „Call to undefined method FormKategorie::setDefaults()“
Uniká mi něco? Jak se v presenteru naplňují multiplier formuláře?
Díky za radu
- David Matějka
- Moderator | 6445
Ahoj, nema pod sebou ta FormKategorie komponenta jeste komponentu s formularem samotnym? tzn v metode treba createComponentForm?
pak musis pouzit
$this['formKategorie'][73]['form']->setDefaults(array("nazev" => "neco"));
pripadne si nejaky setter udelat na te FormKategorie komponente a tam to uvnitr nastavit na tu samotnou komponentu formulare
btw, doporucuji vsude pouzivat angictinu, tzn FormCategory – nebo lepe – CategoryForm
- Thommie
- Člen | 34
David Matějka napsal(a):
Ahoj, nema pod sebou ta FormKategorie komponenta jeste komponentu s formularem samotnym? tzn v metode treba createComponentForm?
pak musis pouzit
$this['formKategorie'][73]['form']->setDefaults(array("nazev" => "neco"));
pripadne si nejaky setter udelat na te FormKategorie komponente a tam to uvnitr nastavit na tu samotnou komponentu formulare
btw, doporucuji vsude pouzivat angictinu, tzn FormCategory – nebo lepe – CategoryForm
Aha, má pod sebou ještě formulář :)) to mi vůbec nedošlo, protože ta
komponenta se jmenuje stejně, díky za pomoc.
Takže nakonec funguje:
$this['formKategorie'][73]['formKategorie']->setDefaults(array("nazev" => "neco"));