Funkce getComponent selže na levenshtein typu

kiCkZ
Člen | 153
+
0
-

Zdravim,

nevím jestli to není bug, ale při volání funkce v obou těchto případech mi spadne funkce na chybě v nette.

levenshtein() expects parameter 1 to be string, int

$this->getParent()->getComponent('komponenta')
$this->getPresenter()->getComponent('rodicovska_komponenta')->getComponent('komponenta')

Editoval kiCkZ (21. 4. 2020 12:09)

CZechBoY
Člen | 3608
+
0
-

Ty tam davas string nebo objekt? Moc to z tvyho nedokazu poznat.

kiCkZ
Člen | 153
+
0
-

CZechBoY napsal(a):

Ty tam davas string nebo objekt? Moc to z tvyho nedokazu poznat.

Dávám tam string právě.

jiri.pudil
Nette Blogger | 1034
+
0
-

Vypadá to na bug a měl by být myslím opravený tímto commitem, který je ale dosud jen v nette/component-model:dev-master

kiCkZ
Člen | 153
+
0
-

jiri.pudil napsal(a):

Vypadá to na bug a měl by být myslím opravený tímto commitem, který je ale dosud jen v nette/component-model:dev-master

Díky Jirko dělá mi to celkem problém, protože potřebuji z jedné komponenty překreslit přes rodiče druhou a nyní to nelze. Snad to @DavidGrudl co nejdříve dá do nějakého release.

David Matějka
Moderator | 6445
+
0
-

stejne by ti to vyhodilo chybu, pravdepodobne se snazis pouzit komponentu UsersRightsTableBlock namisto usersRightsTableBlock (male u na zacatku)

kiCkZ
Člen | 153
+
0
-

David Matějka napsal(a):

stejne by ti to vyhodilo chybu, pravdepodobne se snazis pouzit komponentu UsersRightsTableBlock namisto usersRightsTableBlock (male u na zacatku)

@DavidGrudl tím to není, string jsem dával s malým počátečním písmenem, nicméně pokud aplikuju ten kód co psal @jiripudil, tak to píše, že neexistuje komponenta, což už je jiná chyba než byla prvně hlášena.

David Matějka
Moderator | 6445
+
0
-

ano, to jsem se snazil rict, ze by ti to vyhodilo chybu, jelikoz ta chyba, ktera ti puvodne vyskocila je az sekundarni. primarni je v tom, ze si pouzival komponentu, ktera neexistuje

kiCkZ
Člen | 153
+
0
-

David Matějka napsal(a):

ano, to jsem se snazil rict, ze by ti to vyhodilo chybu, jelikoz ta chyba, ktera ti puvodne vyskocila je az sekundarni. primarni je v tom, ze si pouzival komponentu, ktera neexistuje

@DavidGrudl já tu komponentu vytvořenou mam a tento název má. Jak je tedy možné, že když si dám $this->getParent(), tak jí tam vidím ? Díky

David Matějka
Moderator | 6445
+
0
-

co ti to teda hlasi za chybu? a pro jaky kod?

David Grudl
Nette Core | 8282
+
+2
-

component-model s bugfixem je venku.

kiCkZ
Člen | 153
+
0
-

David Grudl napsal(a):

component-model s bugfixem je venku.

@DavidGrudl nyní prvotní problém jak jsem psal se vyřešil, ale stále mi to hlásí, že to nemůže najít komponentu.
Může být třeba špatně posloupnost načítání ? Nicméně pokud si dám $this->getParent(), tak v ní normálně komponentu vidím s názvem → UsersRightsTableBlock.

Přišel jsem na to, že při volání se getComponent se uvnitř porovnává, zde existuje prvek v poli, nicméně protože tam dávám string názvu komponenty a v poli je klasický číselný index, tak mi to neprojde viz screen.

Díky

Editoval kiCkZ (21. 4. 2020 18:27)

David Grudl
Nette Core | 8282
+
0
-

Název té komponenty je 3. Zkus getComponent(‚3‘).

kiCkZ
Člen | 153
+
0
-

David Grudl napsal(a):

Název té komponenty je 3. Zkus getComponent(‚3‘).

@DavidGrudl Jak je to možné ? Vždyť to vždycky bylo přes název třídy ‚komponenty‘, přitom v tom dumpu co jsem zkoušel byly první komponenty s názvem a až ty další byly takto.

Díky

CZechBoY
Člen | 3608
+
0
-

Nemas tam multiplier nebo tak neco? Skvely by bylo kdybys prilozil nejaky pouziti kodu a co tam nefunguje… tohle je fakt strileni do nebe

kiCkZ
Člen | 153
+
+1
-

CZechBoY napsal(a):

Nemas tam multiplier nebo tak neco? Skvely by bylo kdybys prilozil nejaky pouziti kodu a co tam nefunguje… tohle je fakt strileni do nebe

Tak nakonec byl problém v logice, kterou jsem bohužel nedělal a byla hodně zanořená.

Díky všem za spolupráci