Jak napsat router pro admin a front?

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

Zdravím,
nedaří se mi napsat router pro administraci(modul Admin) a front (nemá modul).
Co zatím mám je polofunkční routování, které jede ani nevím jak.

Kdyby někdo pomohl, byl bych rád.

Hurass
Člen | 114
+
+3
-

Já to mám takto:

$router = new RouteList();

/* BackendModule */
$router[] = $backend = new RouteList('Backend');
$backend[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');

/* FrontendModule */
$router[] = $frontend = new RouteList('Frontend');
$frontend[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

return $router;

Editoval Hurass (28. 7. 2014 14:50)

radekBrno
Člen | 61
+
+1
-

Hurass: je tvůj zápis v něčem lepší (třeba v rychlosti zpracování) než ten můj?

$router = new RouteList();

$router[] = new Route('admin/<presenter>/<action>[/<id>]', array(
  'module'    => 'Admin',
  'presenter' => 'Homepage',
  'action'    => 'default',
  'id'        => NULL
));

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

return $router;

Editoval radekBrno (28. 7. 2014 15:18)

Hurass
Člen | 114
+
0
-

Řekl bych, že to je pouze přehlednější, alespoň pro mě.

Editoval Hurass (28. 7. 2014 15:27)

David Matějka
Moderator | 6445
+
0
-

@radekBrno: nevim, jestli tam nenarazis na problem, kdyz budes mit submoduly..

CZechBoY
Člen | 3608
+
0
-

Modul je pouze Admin, front nemá modul.
Mám teda hodit front taky do modulu? Je to v něčem lepší?

Hurass
Člen | 114
+
+1
-

Nemusíš to dávat do modulu, stačí se pouze zamyslet.

$router = new RouteList();

/* BackendModule */
$router[] = $backend = new RouteList('Backend');
$backend[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');

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

return $router;
CZechBoY
Člen | 3608
+
0
-

Jo, díky, už to jede :-)

	public function createRouter()
	{
		$router = new RouteList();
		$router[] = $admin = new RouteList('Admin');
		$admin[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');
		$router[] = new Route('category/<slug>', 'Content:showCategory');
		$router[] = new Route('content/add/<slug>', 'Content:add');
		$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
		return $router;
	}

Editoval CZechBoY (29. 7. 2014 11:30)

Pavel Macháň
Člen | 282
+
0
-

CZechBoY napsal(a):

Modul je pouze Admin, front nemá modul.
Mám teda hodit front taky do modulu? Je to v něčem lepší?

Z mého pohledu je to přehlednější a pokud vytváříš linky tak víš že musíš vždy počítat s modulem

CZechBoY
Člen | 3608
+
0
-

@PavelMacháň odkazy stejně mám ve tvaru bez modulu, jen když odkazuju na front tak dám :Homepage:default a pohoda. Ale asi je lepší to házet do modulů :-)
Příště se polepším :-)