Přesměrování routy pokud parametr začíná nulou

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

Mám routu /katalog/detail/<category>/<page \d+>/<item>/<seourl>. Parametr item může být prakticky libovolná kombinace čísel, písmen a dalších znaků. Problém nastane, pokud je prvním znakem v tomto parametru nula – odkaz se v šabloně generuje správně, ale stránka se s kódem 301 přesměruje na URL, ve kterém nula není. Dá se tomu nějak zabránit?

David Grudl
Nette Core | 8218
+
0
-

Jako když je to číslo začínající nulou?

bojovyletoun
Člen | 667
+
0
-

nemáš v presenteru definovanout property public $item=12; ? pak zkus $item='12'

michal_konecny
Člen | 2
+
0
-

David Grudl napsal(a):

Jako když je to číslo začínající nulou?

Ano, když to zrovna vyjde a je to číslo začínající nulou, takže URI je něco jako /katalog/detail/novinky/1/055478/vcelka-maja – dojde k přesměrování na /katalog/detail/novinky/1/55478/vcelka-maja a v databázi se to pak nenajde.

bojovyletoun napsal(a):

nemáš v presenteru definovanout property public $item=12; ? pak zkus $item=‚12‘

To mě nenapadlo, měl jsem tam myslím přetypování na string, ale dát to celé do apostrofů/uvozovek jsem nezkoušel. Zkusím, uvidím. Každopádně díky za tip.

Filip Procházka
Moderator | 4668
+
0
-

Kdyby bylo nejhůř, tak můžeš pomocí str_pad doplňovat to číslo na požadovanou délku :)