ajax – změna proměnné v template

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

dobrý večer,

v presenteru mám:

public function renderDefault() {
    $this->template->msg = "test_init";
}

public function handleDelete() {
    if ($this->isAjax()) {
        $this->template->msg = "Success template";
        $this->invalidateControl('snip');
    }
}

ale response mi chodí pořád

{"state":[],"snippets":{"snippet--snip":"test_init"}}

šablona:

{snippet snip}{$msg}neco{/snippet}

děkuji za pomoc..

Michal Vyšinský
Člen | 608
+
0
-

Zdravím,
tady je vidět životní cyklus presenteru. A jak je vidět, tak se handle volá ještě před render metodou, čili se ti to znova přepíše. Ten text, který tam chceš mít, tak si dej do property té třídy a nastavuj to pomocí $this->nazev_property.
Jinak tady je video kde je to velmi pěkně vysvětlené.

Editoval CherryBoss (16. 12. 2011 23:02)

peane
Člen | 16
+
0
-

děkuji mockrát…