Nette 0.9.2 a problém s Route

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

Ahojte

Odkedy som nahodil verziu nette 0.9.2 naskytli sa mi problémy s route. Predošlé verzie mi tento problém nerobili.

Mám nasledovné route:

<?php
$router[] = new NRoute('admin/<presenter>/<action>/<id>', array ( 'presenter' => 'Default', 'action' => 'default', 'id' => null, 'module' => 'Admin'));

$router[] = new NRoute('<presenter>/<action>/<id>', array ( 'presenter' => 'Default', 'action' => 'default', 'id' => null ));
?>

Mojím problémom je, že prvá route mi matchuje chybne i URL, ktoré nemajú admin/ a následne i pri vytváraní odkazov sa mi tam chybne /admin/ pridáva. Mám problém niekde ja, alebo je chybička v 0.9.2 verzii Nette ?

Dnes som sa pozeral na webe či nie je nová verzia nette a kupodivu tu https://nette.org/en/packages vidím 0.9.0 …

Ďakujem Vám za rady


Tak vidím, že na webe sa to zmenilo a je download na verziu 0.9.3, ale i s ňou sa to správa rovnako.

Editoval jardo (28. 1. 2010 0:52)

iqtq
Člen | 20
+
0
-

Nevím jestli to vyřeší tvůj problém, ale v kódu druhé routy jsem si nevšiml definice modulu (pravděpodobně Front, tedy něco jako ‚presenter‘ ⇒ ‚Front:Default‘)). Pokud to nic nezmění tak bych možná zkusil použít module-usage z examples, jestli není chyba někde jinde.

Ještě k těm verzím, koukal jsem že v anglické verzi webu (/en/) je opravdu odkaz na starší než aktuální verzi Nette, možná by to chtělo opravit. Každopádně doporučuju download poslední verze z https://nette.org/cs/packages

Editoval iqtq (28. 1. 2010 1:33)

jardo
Člen | 17
+
0
-

iqtq napsal(a):

Nevím jestli to vyřeší tvůj problém, ale v kódu druhé routy jsem si nevšiml definice modulu (pravděpodobně Front, tedy něco jako ‚presenter‘ ⇒ ‚Front:Default‘)). Pokud to nic nezmění tak bych možná zkusil použít module-usage z examples, jestli není chyba někde jinde.

Ještě k těm verzím, koukal jsem že v anglické verzi webu (/en/) je opravdu odkaz na starší než aktuální verzi Nette, možná by to chtělo opravit. Každopádně doporučuju download poslední verze z https://nette.org/cs/packages

Ahoj

Ďakujem za odpoveď. Ja mám ale Frontend časť akože bez modulov, nemám na presenteroch prefix Front_, preto nemám ani v tej druhej route module ⇒ Front. Neviem či by mi totot pomohlo, mne totiž tá prvá routa ignoruje to „admin“. Moc sa mi nechce celú aplikáciu prepisovať na Front_ …

iqtq
Člen | 20
+
0
-

Tak jsem si to zkusil nasimulovat pomocí module-usage z examples a možná mám tentokrát kvalitnější radu :) Když jsem v route použil konstrukci … ‚presenter‘ ⇒ ‚Admin:Default‘… tak mi to dělalo přesně to co tobě, po použití … ‚module‘ ⇒ ‚Admin‘, ‚presenter‘ ⇒ ‚Default‘ … to funguje podle očekávání. Každopádně v tom příkladu je použit jak Admin module tak Front, tudíž nevím jak a jestli to bude fungovat při tvých požadavcích.

Aurielle
Člen | 1281
+
0
-

Já řešil po přechodu na 0.9.2 stejný problém a musel jsem front přepsat do modulu.
(https://forum.nette.org/…dlisny-modul)

David Grudl
Nette Core | 8282
+
0
-

Tohle je bug v Route, co nejdřív opravím.