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…