Dedicnost presentru a generovani linku

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

neviem ci je to ficura alebu buga, ale mam problem s generovanim linku pri dedictnosti presenterov.

Mam definovanu dedicnost:

<?php

namespace NetteMobile\Application;
class TemplatesMobilePresenter extends \Nette\Application\UI\Presenter;

?>
<?php

class BasePresenter extends \NetteMobile\Application\TemplatesMobilePresenter;

?>
<?php

class HomePresenter extends BasePresenter

?>

V HomePresenter normalne funguje

<?php
	$this->link("Home:default");
?>

Mam ale v aplikacii este jeden presenter, ktory dedi takto:

<?php

namespace NetteMobile\Viewport;
class ViewportPresenter extends \Nette\Application\UI\Presenter

?>
<?php

class ViewportPresenter extends \NetteMobile\Viewport\ViewportPresenter

?>

ale ked v nom (ViewportPresenter) zavolam

<?php
	$this->link("Home:default");
?>

vrati sa mi

No route for Home:default()

Pokial Viewport podedim po BasePresenter, tak to normalne funguje.

V com by mohla byt chyba?

Nette mam vo verzii: 2.0.8

Editoval matopeto (20. 3. 2013 21:23)

enumag
Člen | 2118
+
0
-

Řekl bych, že bude problém v těch namespacech. Jak vypadá mapping v config.neon?

matopeto
Člen | 395
+
0
-

Aky mapping myslis v config.neon?

Inac ten namespace je definovany iba pri tych predkoch, kde som to napisal. Samozrejme su v inych suboroch.

Ostatne nemaju ziaden namespace. (teda predpokladam, ze vsetci su v rovnakom globalnom namespace, namespace sa nededi)

Editoval matopeto (20. 3. 2013 20:55)

enumag
Člen | 2118
+
0
-

Aha, zmátlo mne jak jsi to neoddělil, myslel jsem, že HomePresenter a ViewportPresenter jsou v nějakém namespace.

V tom případě to možná způsobuje něco ve třídě \NetteMobile\Viewport\ViewportPresenter, nevím ale co – jeden čas jsem presentery také používal nějak takhle a nebyl s tím žádný problém.

matopeto
Člen | 395
+
0
-

Uz som to oddelil. Snad je to uz prehladne. Tiez nevidim problem, ale skusim to nejako vytrackovat.

matopeto
Člen | 395
+
0
-

Tak odpoviem si po dlhsej dobe sam :)

Nakoniec bol problem v tom, ze TemplatesMobilePresenter obsahoval perzistentnu premennu, a preto sa routa z ViewportPresenter nevedela vygenerovat (lebo vo ViewportPresenter nebola zadana a ani znama.)