Více vnořenýh modulů – routování

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

Zdravím,
doufám, že jsem zvolil správné diskuzní vlákno, je to sice routování, ale jsem začátečník, tak prosím strpení. :)

Mám aplikaci, jejíž struktura vypadá takto:

  • App/
    • FaultModule/
      • AdminModule/

        presenters/

        templates/

      • UserModule/

        presenters/

        templates/

    • GuestModule

      presenters

      templates/

    • RevisionModule/

a potřebuji vyřešit routování, GuestModule je jen pro úvodní stránku a přihlášení, na ten jsem se dostal pomocí googlu takto:

<?php
$router = new RouteList();
$router[] = new Route('<module>/<presenter>/<action>[/<id>]',array(
            'module' => 'Guest',
            'presenter' => 'Homepage',
            'action' => 'default',
            'id' => NULL,
        ));
?>

doufám že je to správně. Ale nastal problém, když se chci dostat do FaultModule/UserModule/Homepage:default pomocí:

<?php
<a n:href= ':Fault:User:Homepage'>Závady</a>
?>

asi se to musí správně naroutovat, což se mi nedaří. Také jsem jsem objevil, že se to musí nějak namapovat v configu.

mapping:
		User: App\*Module\User\Presenters\*Presenter

Mohl by mi prosím někdo poradit? Děkuji moc.

David Matějka
Moderator | 6445
+
0
-

Ale nastal problém

jaký? :)

Lukzat
Člen | 5
+
0
-

Když se chi dostat z GuestModule/Homepage:default na FaultModule/UserModule/Homepage:default pomocí:

<?php
<a n:href= ':Fault:User:Homepage'>Závady</a>
?>

hodí mi to chybu, snaží se najít FaultModule/UserPresenter/Homepage.

David Matějka
Moderator | 6445
+
0
-

pro tvou strukturu potrebujes asi tohle mapovani:
https://github.com/…Fconfig.neon#L14

Lukzat
Člen | 5
+
0
-

Hlásí mi chybu

Invalid link: Cannot load presenter 'Fault:User', class 'App\FaultModule\Presenters\UserPresenter' was not found

Zřejmě si myslí, že User je presenter ne module, potřebuji se dostat do FautModule\UserModule\Homapage\default. Znamená to že je chyba v mapování nebo v routě?

Jan Endel
Člen | 1016
+
0
-

V tom linku ti na konci chybí dvojtečka, resp bez toho to nette nemá jak rozeznat, že to je presenter, kdybys chtěl být superpřesný, můžeš tam napsat i :default

Lukzat
Člen | 5
+
0
-

Jsem blb, taková stupidní chyba. Děkuji všem za pomoc.