Kdy a jak probíhá nastavení persistentních parametrů v komponentě?
- mara
- Člen | 4
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
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
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)