Deaktivování persistentních parametrů v presenterech

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

V presenterech používám persistentní parametry, ale ty se mi bohužel přenášejí v url i do jiných šablon v rámci daného presenteru, ale já bych rád, aby byly zobrazeny jen na určitých šablonách v daném presenteru. Jak se podle potřeby dají „vypnout“? Mám na začátek každé metody action<Něco> vkládat $this->param = null? To by asi šlo, ale přjde mi to hodně neefektivní. Je nějaký lepší způsob?

JHadamcik
Člen | 47
+
0
-

Persistentní parametr musíš nastavit na NULL pak se nebudou zobrazovat. Pokud ti to nevyhovuje, nepoužívej persistentní parametr.

Editoval JHadamcik (22. 8. 2013 20:11)

Šaman
Člen | 2666
+
0
-

Jestli ten parametr nereprezentuje nějaký vnitřní stav aplikace (např. $lang), tak bych nepoužíval persistentní parametry, ale parametr action/render metody. Persistentní je od toho, aby si ho presenter pamatoval stále, nezávisle na akci.

Patrik Votoček
Člen | 2221
+
0
-

JHadamcik napsal(a):

Persistentní parametr musíš nastavit na NULL pak se nebudou zobrazovat. Pokud ti to nevyhovuje, nepoužívej persistentní parametr.

To je tak trochu lež protože správně je potřeba persistentní parametr nastavit na výchozí hodnotu která může být jakákoli.