Routování – regulární výraz zruší platnost správné routy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- dexter0
- Člen | 1
Zdravím,
dělám v Nette svůj první projekt a narazil jsem na problém s routováním
( při tom je to podle mě úplně jednoduché), tak bych vás chtěl poprosit
o radu či názor :)
mám definovanou routu
<?php
$container->router[] = new Route('novinky/<id>[-<name>]', 'News:detail');
?>
makro n:href správně generuje odkaz
example.com/novinky/1-prvni-novinka
,
jelikož pomocí id přistupuji do databáze, tak jsem tam chtěl přidat zabezpečení tím, že do id povolím pouze čísla, tak jsem si upravil routu na
<?php
$container->router[] = new Route('novinky/<id [0-9]+>[-<name>]', 'News:detail');
?>
najednou ale makro n:href negeneruje odkaz
example.com/novinky/1-prvni-novinka
,
ale vygeneruje
error: No route for News:detail(id=1-prvni-novinka)
při zadání adresy example.com/novinky/1-prvni-novinka
se ale
vše zobrazí správně,
nechápu kde můžu dělat chybu, nebo co je příčinou neúspěchu,
díky za jakékoliv konstruktivní odpovědi :)