Vnorene komponenty a jejich parametry
- MartyIX
- Člen | 217
Mam komponentu participantList a v ni vnorenou komponentu subcomponent a do komponenty subcomponent se mi neposilaji parametry (do handle{jmeno}), asi nekde delam neco, co bych fakt nemel.
Moje debugovani:
funkce initGlobalParameters()
https://github.com/…resenter.php#… – pred touto radkou mam parametry:
array(9) {
["id"]=>
string(0) ""
["action"]=>
string(7) "default"
["subcomponent-o"]=>
string(3) "255"
["participantsList-id"]=>
string(2) "40"
["participantsList-show"]=>
string(1) "1"
["participantsList-subcomponent-o"]=>
string(3) "255"
["do"]=>
string(47) "participantsList-subcomponent-deleteParticipant"
}
To vypada rozumne, parametr $o, ktery chci dostat do subkomponenty se tam vyskytuje a ma spravnou hodnotu.
For cyklus https://github.com/…resenter.php#… se provede a v poli globalParams je:
array(2) {
["subcomponent"]=>
array(1) {
["o"]=>
string(3) "255"
}
["participantsList"]=>
array(2) {
["id"]=>
string(2) "40"
["show"]=>
string(1) "1"
}
}
To vypada na prvni pohled v poradku. Dobre, takze rekapitulace predchoziho je pouze to, ze parametry z adresniho radku mame zpracovane v poli $presenter->globalParams. Okey.
Jak se dostanou parametry do komponenty? Dela to metoda attached (UI/PresenterComponent.php)
https://github.com/…omponent.php#L76
Nyni jsem si zkusil vypsat:
# $this->getUniqueId()
string(29) "participantsList-subcomponent"
# $presenter->popGlobalParameters($this->getUniqueId()) -- tj. parametry pro komponentu, ktere se vezmou z $presenter->globalParams.
array(0) {
}
# $this->getName() -- tj. nazev komponenty
string(12) "subcomponent"
Problem tedy je, ze v $presenter->globalParams je klic „subcomponent“, ale hleda se klic „participantsList-subcomponent“
Prijde mi tedy, ze problem je v ukladani parametru a ne pri vyzvedavani. Narazil jste na toto nekdo take?
Diky!
PS: Debugoval bych dal, ale uz dnes nemuzu.