Do signálu v komponentě se mi nepředává hodnota z url?

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

Zdravím, v prezenteru jsem si vytvořil komponentu member a v ní mám signál Test, ale bohužel se mi do tohoto signálu nepřenáší hodnota kterou bych chtěl, takto vypadá handler v komponentě Member:

public function handleTest($var){
        dump($var);
        print '<a href="'.$this->link('test', 'anything').'">testuj</a>';
        die();
}

Když kliknu na link, nasměruje mě to na adresu: /member/new?member-var=anything&do=member-test

Jak je vydět do url se proměná předala, ale bohužel dump vypíše null, což absolutně nechápu. Nenapadá někoho kde dělám chybu? Dík

Ascaria
Člen | 187
+
0
-

Zkus tohle:

public function handleTest($var){
        dump($var);
        print '<a href="'.$this->link('test!', Array('var' => 'anything')).'">testuj</a>';
        die();
}

Druhý argument linku vždy uváděj jako asociativní pole a na handle se odkazuj s vykřičníkem. Snad to pomůže, nemám to vyzkoušené.

Editoval Ascaria (3. 4. 2012 12:10)

Honza Bedrna
Člen | 8
+
0
-

Bohužel žádná změna, adresa se nezměnila, výsledek také ne. Každopádně dík za typ. Nějaké další nápady?

Felix
Nette Core | 1245
+
0
-

V komponente $this->link vzdycky odkazuje na handleXxx() zkus si dumpnout $this->getParam()

Honza Bedrna
Člen | 8
+
0
-

Dobrý nápad, bohužel to nevrací nic kloudného…

array(0)
Honza Bedrna
Člen | 8
+
0
-

Ha, tak už jsem na to přišel, komponenta totiž nevolala předka v konstruktoru. Tyo to mě teda dalo. Díky za typy, ale řeknu vám není moc intuitivní na to přijít…

Ascaria
Člen | 187
+
0
-

Nevolala rodiče. Njn, pak na to má přijít, když není přípojená k presenteru :) Lepší tam psát vykřičník i když není třeba, aby čověk nebyl zmatenej.

Editoval Ascaria (3. 4. 2012 14:40)