Ajaxový formulář ve snippetu uvnitř komponenty

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

Zdravím, řeším následující problém:

Mám komponentu (RatingList), která v konstruktoru dostane pole dat, se kterými má pracovat. Komponenta RatingList obsahuje jeden snippet na vykreslení dat a druhý na zobrazení formuláře (modal form) podle tohoto návodu: https://forum.nette.org/…h-dat-ajaxem. Tzn. má ajaxovou handle, která překreslí snippet s formulářem a zobrazí ho, a formulář, který se má odesílat ajaxem.

Problém : už po volání handle pro zobrazení formuláře se mi ztratí vstupní data. Mám je v private atributu třídy komponenty $mojeData, stejně jako další data, která se ale neztrácí. Ztratí se jen to pole. Proč? Pokud chci po odeslání formu překreslit celou komponentu, nastane problém, protože pole dat, které se má procházet, je NULL.

Ještě dodávám, že zmíněné řešení s ajaxovým formulářem mi přímo (mimo komponentu) v presenteru funguje bez problémů. Při překreslování komponenty tahám změněná data do renderu přes atributy třídy komponenty, protože $template->value mi nefunguje. (Je to tím, že se šablona vytvoří až při renderu po volání handle? Životní cyklus komponenty s ajaxem mi není úplně jasný.)

Za jakékoliv nakopnutí budu vděčná, už fakt nevím, co s tím :-)

Edit: Pokud je komponenta přímo v presenteru, vše funguje bez problémů. Data se ztrácí, až když ji umístím do jiné komponenty. Pořád ale nevím, jak to řešit.

Editoval chikeet (18. 8. 2013 11:36)

Felix
Nette Core | 1247
+
0
-

Zkus sem hodit kod. Bude to snazsi ti pomoct ;-)