Předání parametru formuláři na jiné šabloně po přesměrování

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
wallkysek
Člen | 52
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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);
wallkysek
Člen | 52
+
0
-

Toto témá můžeme považovat za uzavřené, všem děkuji za pomoc.