Hezčí URL pro produkt detail

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

Zdravím, mohl by mi někdo prosím poradit, jak nastavit routování. Potřeboval bych z adresy:

http://neco.cz/…zev-produktu

udělat

http://neco.cz/…zev-produktu

Níže uvedený kód jsem přidal do bootstrap.php, ale bohužel nefunguje.

<?php
...

$router = new RouteList;

$router[] = new Route('produkty/<id>', array(
	'presenter' => 'product',
	'action' => 'detail',
	'id' => array(
		Route::VALUE => NULL,
		Route::FILTER_IN => function ($id) {
			return $id;
		},
		Route::FILTER_OUT => function ($id) {
			return $id;
		}
	)
	));

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

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


$container->addService('router', $router);

?>

Editoval iceover (22. 8. 2014 13:59)

Patrik Votoček
Člen | 2221
+
+2
-
  1. předpokládám že ti v první routě chybí 'module' => 'Front'
  2. FILTER_IN a FILTER_OUT tam je úplně zbytečně
iceover
Člen | 10
+
0
-

Hehe, já jsem, ale vůl to ‚module‘ ⇒ ‚Front‘ jsem nějak přehlíd. Každopádně moc děkuju.

Po opravě a zjednodušení:

<?php

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

?>
Patrik Votoček
Člen | 2221
+
0
-

a už ti to funguje? :-D