Problém s komponentou – nereaguje na parametr

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
stpnkcrk
Generous Backer | 190
+
0
-

Zdravím!

Pro pochopení fungování komponent jsem zkusil implementovat lehce očesanou verzi komponenty DataGrid do své aplikace (jen vytváření paginatoru, nikoliv výpis záznamů).

Všechno funguje, komponenta se vygeneruje, správně vyrenderuje a vytvoří odkazy. Ovšem tyto nefungují – resp. komponenta nereaguje a nestránkuje (i když je v uri ?paginator-page=2&do=paginator-page, pořád to zobrazuje stránku 1).

Napadá někdo, v čem by mohl být zakopaný pes?

David Grudl
Nette Core | 8218
+
0
-

Fakt netuším, kde by mohl být zakopaný pes, ale pokud na to přijdeš, tak napiš ;)


Vřele bych ti doporučil pořídit si IDE s debuggerem. Ať už zdarma nebo placené, ty peníze se hned vrátí. Občas na problém podobného rázu (něco nejde a netuším proč) taky narazím a obvykle stačí si aplikaci odkrokovat a je jasno.

stpnkcrk
Generous Backer | 190
+
0
-

IDE mám (zkusil jsem PHPEd, NetBeans i Eclipse), ale debugger se mi nikdy nepodařilo rozeběhnout. :(

Tomik
Nette Evangelist | 485
+
0
-

skocourek napsal(a):

IDE mám (zkusil jsem PHPEd, NetBeans i Eclipse), ale debugger se mi nikdy nepodařilo rozeběhnout. :(

Už se to tu řešilo (debugger v PHPEd – 1025-nastaveni-debugovani-nette-v-nusphere-phped). Napiš mi na mail tomik@jmx.cz, už jsem jednomu uživateli zde posílal mail, jak na to, tak pokud chceš, můžu ti ho taky poslat.

Tomik
Nette Evangelist | 485
+
0
-

skocourek napsal(a):

IDE mám (zkusil jsem PHPEd, NetBeans i Eclipse), ale debugger se mi nikdy nepodařilo rozeběhnout. :(

Tak jsem do původního tématu o Nusphere PHPEd přidal, jak se mi podařilo rozchodit debuggování: https://forum.nette.org/…iewtopic.php?… …

Editoval Tomik (10. 1. 2009 14:34)

phx
Člen | 651
+
0
-

skocourek napsal(a):

Všechno funguje, komponenta se vygeneruje, správně vyrenderuje a vytvoří odkazy. Ovšem tyto nefungují – resp. komponenta nereaguje a nestránkuje (i když je v uri ?paginator-page=2&do=paginator-page, pořád to zobrazuje stránku 1).

Uz jsi to vyresil?

Parametr page je persistenti v komponente nebo neni? Preda se vubec onen parametr do komponenty? Neprepisujes si tu hodnotu nahodou?

Jinak poskytl jsi malo informaci k vyreseni problemu:(

romansklenar
Člen | 655
+
0
-

Po aktualizaci z r183 na poslední r199 mám podobný problém, jen co se týče ajaxu. S vyplým JS zpracovává aplikce požadavky korektně. Vidím že mezi těmadle revizema proběhlo mnoho změn v CB (refactoring + přibylo macroSnippet), kde bude asi jádro problému (?).

Požadavek se odešle (handle se provede) ale snippet nepřekreslí. Pro jistotu jsem zkusil i starší verzi Paginatoru, kde ještě není getSteps deprecated abych vyloučil chybu zde.

Pro simulaci problému, zde jsou kódy (r183, r199).

Ondrej
Člen | 110
+
0
-

romansklenar napsal(a):

Požadavek se odešle (handle se provede) ale snippet nepřekreslí. Pro jistotu jsem zkusil i starší verzi Paginatoru, kde ještě není getSteps deprecated abych vyloučil chybu zde.

Presne toto jsem resil predevcirem. Po dlouhem hledani jsem zjistil, ze v nove revizi se musi davat zavinac vsude. V layout.phml @{?$content->render()}

Jod
Člen | 701
+
0
-

Tam sa dával aj predtým nie?

romansklenar
Člen | 655
+
0
-

Díky Ondrej, vyřešeno. Kdysi byl zavináč jen pomůcka proti podstrčení layoutu jako pohledu, můžete někdo sepsat jeho přesný význam v šablonách, protože mi není jasné kdy ho používat.

David Grudl
Nette Core | 8218
+
0
-

No ono spíš krátkou dobu to fungovalo bez něj, jako (nezamýšlený) vedlejší efekt předrendrovávání. Takže teď se to vrátilo do normálu. Podobné chování můžeš nasimulovat přes if ($this->isAjax()) $this->setLayout(NULL); někde v startupu.

Stejně ta zavináčová magie je divná.

Mas3r
Člen | 116
+
0
-

Tak co kdyby se @

if ($this->isAjax()) $this->setLayout(NULL); atd...

přidávalo automaticky při nastavení $useAjax = TRUE?