Presenter nemá komponentu v okamžiku ajaxového požadavku

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

Ahoj,

mam problem s komponentou, kterou nevytvarim pres tovarnicku. Protoze potrebuju mit vice stejnych komponent na jedne strance, vytvarim je nasledujicim zpusobem a do nazvu pridam id:

<?php
$component = new MojeKomponentaControl();
$this->addComponent($component, 'mojeKomponenta' . $id);
// $this je presenter
?>

Takhle vytvorim napr. komponentu mojeKomponenta1 a ta se spravne vykresli do sablony. Nasledne pokud ji ale volam ajaxem znovu z dane sablony (localhost/?mojeKomponenta1-nejakyParametr=1&do=mojeKomponenta1-click), tak mi to ale hlasi The signal receiver component ‚mojeKomponenta1‘ is not found. Zjistil jsem ze vyse uvedenym zpusobem sice komponentu k prezenteru pridam a ta se tak spravne vykresli, ale v okamziku ajaxoveho volani uz neni u prezenteru prirazena (zavolal jsem v ramci ajaxoveho pozadavku getComponents a jsou tam komponenty vytvorene pres tovarnicku, ale mojeKomponenta1 vytvorena vyse uvedenym zpusobem ne). Pritom pokud ten samy objekt komponenty vytvorim pres tovarnicku, tak ho u prezenteru vidim v okamziku ajaxoveho pozadavku. Tovarnicku ale nemuzu pouzit, protoze potrebuju mit stejnych komponent na strance vice.

Diky moc.

natrim
Člen | 73
+
0
-

Připoj si tu komponentu už v metode Action, v Renderu už je po zpracovani ajaxu.

Vladik_hk
Člen | 50
+
0
-

no jasnee, diky moc