Nelze volat signál z potomka ani když jej zkopiruji

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

Ahoj,
mam neco takoveho:

namespace FrontModule;

FrontPresenter extends \Nette\Application\UI\Presenter

  • ServicesPresenter extends FrontPresenter

No a ve FrontPresenteru mam handleChangeLang() metodu, na homepage, tedy HomepagePresenter ktery dedi take FrontPresenter mi v klidu jde signal zavolat, ale na treba v ServicePresenter, nebo jakemkoli jinem mi to nejde a dostanu proste jen „error: No route for Front:Services:default(langId=cs_CZ, do=changeLang)“

To samé se děje když signál zkopíruji do ServicesPresenter :-/

Nějaký nápad odkud by ta chyba mohla pocházet? :-/ Díky

Editoval besir (2. 12. 2014 9:11)

pepakriz
Člen | 246
+
0
-

Problém je v tom, že ti na daný signál nevede žádná routa. Více ti někdo poradí, když sem dáš ukázku tvého routování.

besir
Člen | 170
+
0
-

Jak mi ma na sgnal vest routa? Řekněme, že tam mam temporary zjednodušeně toto:

use Nette\Application\Routers\RouteList,
	Nette\Application\Routers\Route,
	Nette\Application\Routers\SimpleRouter;

...

$router[] = new Route('', array(
			'module' => 'Front',
			'presenter' => 'Homepage',
			'action' => 'default'
		));

$router[] = new Route('services', array(
			'module' => 'Front',
			'presenter' => 'Services',
			'action' => 'default',
			'langId' => 2
		));
Zax
Člen | 370
+
0
-

Tipnul bych, že je problém v pořadí rout. Obecné routy patří na konec, konkrétní na začátek.

besir
Člen | 170
+
0
-

@Zax Téměř, jsem idiot, neměl jsem tam žádnou obecnou routu a pak jsem si ještě přebíjel parametr, uf pojmenovávání proměnných :D

Díky :-)