Predani parametru pri redirect

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

Ahoj,

resim prihlaseni/registraci pres facebook a jde mi o to, ze pokud uzivatel klikne na tlacitko prihlasit, facebook vrati info o uzivateli. Potreboval bych tyto data nekam docasne ulozit, nebo idealneji predat pri redirectu strance, ktera predvyplni formular prave daty, ktere si ziska od facebooku.

Kdyz pouziju

$this->presenter->redirect(':Account:Profile', $userData)

hodi to Unable to pass parameters to action ‚Account:Profile‘, missing corresponding method. Kdyz tam ty data neposlu, normalne to presmeruje, ale zase nemam data ktera potrebuji.

Diky,

@flexroad

Zax
Člen | 370
+
0
-

Druhý parametr by měl být pole, ale ne pole s daty uživatele, ale pole s argumenty, které se mají předat akci ;-)

Zkus obalit $userData do array() a když ani to nepomůže, tak tomu přidej klíč se stejným názvem, jako je argument v té akci – tedy např pro:

function actionProfile($data)

by redirect vypadal takto:

$this->presenter->redirect(':Account:Profile', array('data' => $userData));
flexroad
Člen | 117
+
0
-

@zax: toto funguje, ale predava to parametry v url, coz neni moc pekne obzvlaste pokud je tech dat docela hodne. Nejaky jiny napad? Neda se to ulozit nekam docasne treba do session? Neumi nette neco jako flashmessage bez message? Neco jako flashStorage?

Diky,

@flexroad

Zax
Člen | 370
+
+2
-

Pokud se ti to nelíbí v URL, tak určitě přes session – návod zde

BTW Flash messages jsou interně taky řešeny přes session ;-)

Editoval Zax (10. 8. 2014 12:08)

flexroad
Člen | 117
+
0
-

@Zax : To je presne to co jsem hledal!!! Diky moc!

@flexroad