Formulár dynamicky zobrazovaný v šablóne

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

Ahojte!

Mám otázku ohľadom vypisovania formulára na stránke. Ide o to, že som si urobil odkaz a ten zachytávam v handleri. Akonáhle hanlder zachytí, že chcem zobraziť formulár, nastaví jednu premennú a šablóna by mala podľa toho vypísať tento formulár. V životnom cykle presentéru je render až za handle, preto neviem, prečo mi to nechodí.

V šablóne mám toto:

<?php
{block content}
    <a n:href="getSimpleForm!">{_}Zobraz dialog{/_}</a>
    {if isset($premennaVhandleri)}{control simpleForm}{/if}
    {if !isset($premennaVhandleri)}{control niecoIne}{/if}
{/block}
?>

v prezentéri pri zachytení

<?php
    public function handlegetSimpleForm($id) {
	$this->template->premennaVhandleri= true;
	$this->redirect('this');
    }
?>

Urobí to redirect, možno to aj nastaví premennú, ale vo výsledku mám pôvodnú stránku. Nechcem dávať premennaVhandleri ako persistent parameter, určite existuje iné elegantnejšie riešenie.

Ešte som rozmýšľal vytvoriť nový view, v tomto presenteri, pričom by som na neho odkazoval. Ale to by sa malo robiť v action. Ako mám odkaz nasmerovať nie na handle, ale na action?

Ďakujem za navedenie

ViPEr*CZ*
Člen | 817
+
0
-

No pokud nechcete persistentní proměnnou, pak nedělejte redirect a v handleru si jen nastavte stav presenteru nějakou private proměnnou.

vvoody
Člen | 910
+
0
-

Netráp ho s best practice, :D keď mu nieje jasné čo presne robí redirect.

xxxmisko
Člen | 140
+
0
-

páni, dajte best practise prosím.
vvoody – kľudne mi ozrejmi pohľad, teraz som ako veľká prázdna guľa, ktorá zbiera 2 týždne informácie o nette.

vvoody
Člen | 910
+
0
-

Pre teba je teraz podstatné pochopiť prečo to nerobí to čo očakávaš. Funguje ti to keď si spravil to čo ti poradil viper? (odstrániť redirect)

xxxmisko
Člen | 140
+
0
-

v podstate ja si myslím, že rozumiem, prečo to nejde. Len chcem docieliť to, aby to šlo, ale čo najčistejšie a najlepšie. Keď som ten redirect vyhodil, išlo to. Ale pri každej handle akcii by sa mal použiť redirect, je tak? proste to chcem napísať správne a neviem, čo na to použiť :D

vvoody
Člen | 910
+
0
-

Keď v podstate potrebuješ len prekresliť časť stránky tak použi javascript/snippety.

xxxmisko
Člen | 140
+
0
-

áno, pomocou JS to funguje. Formulár zobrazujem v jquery dialogu a v určitých prípadoch zdochne. To musím ešte vyriešiť.