Změna proměnné v $this->template

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

Zdravím,
v mém HomepagePresenteru si v metodě beforeRender() vytvořím proměnnou klienti, přístupnou v šabloně

$this->template->klienti = $this->klientRepository->findAll()->order('PRIJMENI ASC');

dále mám vytvořený formlulář s tlačítkem, po jehož stisknutí bych rád, aby se proměnná klienti změnila a zapsaly se do ní nové data(ty samé jen jinak řazené), mám proto vytvořenou metodu, která se volá po stisku tlačítka

public function s_id_up(){
$this->template->klienti = $this->klientRepository->findAll()->order('PRIJMENI DESC');
}

ale bohužel se nic po stisknutí tlačítka neděje, počítám že je to tím, že je dafaultně v beforeRender daná ta první inicializace, ale co s tím, data tam potřebuju nějaká defaultně mít už při prvním spuštění? Jak mohu docílit, abych nějakou metodou změnil proměnou přístupnou v šabloně?

Díky za odpověď

Caine
Člen | 216
+
0
-

Formular se zpracovava pred BeforeRender, tzn i ta divna metoda s_id_up se spusti driv nez BeforeRender, a tak si to prepises zpatky.

<?php
//beforeRender
if (!isset($this->template->klienti)) {
   $this->template->klienti = $this->klientRepository->findAll()->order('PRIJMENI ASC');
}
?>
Proxymus
Člen | 7
+
0
-

Caine napsal(a):

Formular se zpracovava pred BeforeRender, tzn i ta divna metoda s_id_up se spusti driv nez BeforeRender, a tak si to prepises zpatky.

<?php
//beforeRender
if (!isset($this->template->klienti)) {
   $this->template->klienti = $this->klientRepository->findAll()->order('PRIJMENI ASC');
}
?>

Díky, to mě mohlo napadnout :)