Kdy a jak probíhá nastavení persistentních parametrů v komponentě?

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

Zdravím,

chtěl bych se zeptat pléna, kdy se do komponenty nastavují z url persistentní parametry?

V konstruktoru komponenty nastavuji onomu persistentnímu parametru defaultní hodnotu. Když potom pošlu komponentě signál (s novou hodnotou parametru), tak v url tato nová hodnota je, nicméně se nijak neuplatní, protože se opět zavolá konstruktor, který komponentě nastaví defaultní hodnotu.

Problém řeším tak, že v továrně detekuji přítomnost parametru v url. Pokud je přítomen, tak v konstruktoru parametry nenastavuji a, jak se zdá, v tomto případě se parametry správně předají.

Detekování v url je podle mě ošklivé, proto se ptám, jak tohle řešit lépe?

Díky.

Editoval mara (7. 1. 2012 14:52)

Filip Procházka
Moderator | 4668
+
0
-

Defaultní hodnota persistentního parametru komponenty se přeci nenastavuje v konstruktoru

/** @persistent */
public $lang = 'cs';

Editoval HosipLan (7. 1. 2012 16:39)

mara
Člen | 4
+
0
-

Jsem v situaci, kdy potřebuji nastavit defaultní hodnotu komponenty v závislosti na url prvotního (neajaxového) požadavku. A chci, aby se v rámci dalších (ajaxových) požadavků o předávání persistentních parametrů staralo samo Nette.

Je to v zásadě prkotina, jen jestli to nejde nějak hezky…

Editoval mara (7. 1. 2012 18:12)