mizící hodnoty pole v proměnné

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

Dobrý den,

s nette i php mám minimální zkušenosti, ale jako bakalářku dělám mobilní aplikaci jednoho nette projektu. Mám takový problém, že jedno pole se kterým se tam pracuje v presenteru má v sobě nějaké hodnoty, ale jakmile se pokusím si je vypsat v nějaké akci, tak v tom poli nic není. Vůbec nechápu proč tomu tak je a jsem na tomto seklý už pár dní.

Tady je kód presenteru který upravuji DesignerPresenter

Jde mi tam o pole $errors. Když si ho vypíšu v onformsuccess hodnoty v sobě má i do template pošle správně svoje hodnoty, ale jakmile se pokusím o tohle vypíše to prázdné pole.

public function actionJSONGetErrors() {
    $this->payload->errors = $this->errors;
    $this->sendPayload();
    $this->terminate;
}

Stejným postupem jsme si vytvářel zatím všechna rozhraní a nikdy jsem s tím problém neměl.

enumag
Člen | 2118
+
0
-

Metoda action* se provádí dříve než je formulář odeslán takže ta proměnná je tou dobou ještě přázdná. Když tu metodu přejmenuješ na renderJSONGetErrors, mělo by to fungovat.

Madachi
Člen | 3
+
0
-

hmm, to nepomohlo. Nakonec jsem to narval na konec metody OnSolutionFormSuccess a hodnoty mi to vrátí. Sice to není hezké řešení protože to přeruší chod stránky, ale já ji používám stejně jen pro mobilní aplikaci, tak to asi nevadí, ale i tak děkuji.

enumag
Člen | 2118
+
0
-

Mimochodem má tam být $this->terminate(); (chybí ti závorky).

EDIT: Když koukám do nette zdrojáků tak to terminate je tam vlastně zbytečné protože ho zavolá sendPayload.

Editoval enumag (15. 4. 2014 18:13)

Madachi
Člen | 3
+
0
-

Ok, díky za tip pomažu je.