Zprovoznění modulů v Nette

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

Zdar,

prosím, co vše je potřeba udělat/nastavit, aby z obyčejného projektu bez modulů (který mi fungoval), jsem mohl předělat na projekt s moduly? Udělal jsem si podle návodu ve složce app složku MainModule a do ní přesunul složku presenters a templates. Dále pak podle návodu změnil namespace ve všech presenterech z App na MainModule.
Routování jsem změnil na:

$router[] = new Route('<presenter>/<action>[/<id>]', 'Main:Homepage:default');

Co dál musím udělat? Laděnka hlásí:

Cannot load presenter 'Main:Homepage', class 'App\MainModule\HomepagePresenter' was not found in '/home/users/phavel/kphavlovi.cz/sub/svatba/app/MainModule/presenters/HomepagePresenter.php'

Děkuji moc

David Matějka
Moderator | 6445
+
0
-

Bud ten presenter presun do namespace App\MainModule, nebo si uprav mapovani na tridu, viz https://github.com/…/config.neon#L19

pe.havel
Člen | 14
+
0
-

Se změnou namespace to funguje, ale pokud jsem zkusil druhou variantu s upravením mapováním, tak to hází podobnou chybu (přibylo „Presenters“ v cestě k třídě). Co dělám špatně?
Díky

David Matějka
Moderator | 6445
+
0
-

to mapovani neni poradne zdokumentovane, pokud bys chtel mit presenter pouze v FooModule\BarPresenter, nastav si mapovani:

nette:
	application:
		mapping:
			*: *Module\*Presenter