Routovanie a tvar URL vs tvar ODKAZOV

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

Zdravím.

Podarilo sa mi čiastočne spojazdniť routovanie a to tak ze URL adresy mam vo friendly tvare ako som chcel, ale odkazy na stránke sú stále v tvare s parametrami.

router vyzerá takto
$router[] = new Route('domena-[<domena>]', 'Homepage:detailDomeny');

odkaz zo šablony je tvoreny takto
<a n:href="DetailDomeny,$domena">{$domena}</a>

odkaz na stránku vyzerá takto
http://localhost/detail-domeny?domena=nette.org

po kliknutí na tento odkaz sa zobrazí stránka z url
http://localhost/domena-nette.org

Viete mi poradiť ako dosiahnuť aby som aj odkazy mal v tvare ako url ? Chyba mi niečo v kóde alebo tam je niečo zle ?
Podľa návodu na stránke nette som to nejak nepochopil:-(
Vopred vďaka za radu.

Editoval peterx4 (24. 6. 2015 11:39)

David Matějka
Moderator | 6445
+
+1
-

Tipuju, ze pred tvoji routou mas nejakou obecnou. Zalezi totiz na poradi, viz doc: https://doc.nette.org/…tion/routing#…

Je důležité, v jakém pořadí jsou routy definovány, protože se zkouší postupně odshora dolů. Platí pravidlo, že routy deklarujeme od specifických po obecné.

peterx4
Člen | 8
+
0
-

práveže by nemala byt obecná ak som to správne pochopil podľa tracy matched : YES mam vždy iba pri jednej route pri ostatných mám matched : NO

Unlink
Člen | 298
+
0
-

No to áno, nette zoberie len jednu (prvú ktorá vyhovuje) a tá má to matched yes.
Skopíruj sem celý router, nie len tú jednu routu.

Editoval Unlink (24. 6. 2015 12:34)

peterx4
Člen | 8
+
0
-

podla mňa by tracy vypísala pri ostatných routach „MAY“ ale u mňa pri ostatných vypíše „NO“ takže berie iba tu jednu ktorú som uviedol na začiatku

toto je cely routlist

public static function createRouter()
	{
		$router = new RouteList();
		$router[] = new Route('domena-[<domena>]', 'Homepage:detailDomeny');
		$router[] = new Route('zoznam-domen[-<pismenko>][-<cislostranky>]', 'Homepage:zoznamDomen');
		$router[] = new Route('<action>[/<id>]', 'Homepage:default');
		return $router;
	}

Editoval peterx4 (24. 6. 2015 14:18)

Unlink
Člen | 298
+
0
-

Tak to ma nenapadá v čom by mohol byť problém, každopádne, to že majú ostatné NO nie may je ok.
Ešte by som skúsil v tom linku detailDomeny teda s malým d na začiatku pretože action by mal byť s malým písmenom.

David Matějka
Moderator | 6445
+
0
-

zkus pri tom vytvareni linku dat d na zacatku mele, tedy n:href="detailDomeny,$domena"

//pozde :)

peterx4
Člen | 8
+
0
-

Ďakujem vám všetkým za pomoc bolo to tým veľkým / malým začiatočným písmenkom

<a n:href="DetailDomeny,$domena">{$domena}</a>
vs
<a n:href="detailDomeny,$domena">{$domena}</a>

Vôbec ma nenapadlo že by to mohlo byt tým a zvlášť keď router fungoval správne pri generovaní URL

Editoval peterx4 (24. 6. 2015 14:46)