Předání parametru formuláři na jiné šabloně po přesměrování
- wallkysek
- Člen | 52
Zdravím, jsem naprostý začátečník ve nette a potřebuji provést
editaci určitého záznamu v tabulce.
mám vlastní komponentu pro vypis záznamů z databáse a tam mám několik
tlačitek (u každého záznamu). Mezi nimi je i tlačítko upravit, které
pomocí signálu zavolá fci:
$this->presenter->loadcarforupdate($carId);
}
public function loadcarforupdate($id){
$this->carforupdate = $id;
$this->flashMessage($this->carRepository->findBy(array('id' => $this->carforupdate))->fetch()->nazev);
$this["updateCarForm"]->setDefaults(array('Name' => 'ahoj'));
$this->redirect('updateCar');`
v šabloně je umístěn formulář updateCarForm, u tkerého potřebuji nastavit výchozí hodnoty dle záznamu, který chci editovat. Bohužel se mi defaultní hodnoty nastavit tímto způsobem nedaří. Může někdo poradit?
edit: Ta flashmessage ukazuje správný údaj, jen se mi to prostě nedaří nastavit u té formy.
Editoval wallkysek (5. 8. 2013 12:21)
- David Matějka
- Moderator | 6445
koukni treba sem (tl;dr – presmeruj s tim ID a v prislusne akci nastav formu defaultni hodnoty)
Editoval matej21 (5. 8. 2013 12:31)
- wallkysek
- Člen | 52
to presmerovaní asi neni takto
public function handleMarkUpravit($carId){
$this->presenter->redirect('UpdateCar:default')->actionEdit($carId);
}
ze ano? jak to mam presmerovat i s tim ID?
Dekuji, uz to mam. Delal sem na tom cely den nez sem se zeptal, opravdu moc dekuji
Editoval wallkysek (5. 8. 2013 13:41)
- Oli
- Člen | 1215
Presmerovani s ID provedes takhle:
public function handleMarkUpravit($carId){
$this->presenter->redirect('UpdateCar:default', $carId);
}
Musíš mít ale presenter UpdateCar a v něm
actionDefault($carId){}
. Pokud chceš přesměrovat na
actionEdit($carId)
tak přesměrování vypadá takhle:
$this->presenter->redirect('UpdateCar:edit', $carId);