routovanie /id-nejaky-text/

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

Zdravím.
Bavím sa s routovaním webu. Nacrtnem najskor ako chcem, aby mi to robilo:

Chcem, aby mi po zadani nieco.sk/ vyhodilo presenter Clanky:default bez ziadnych parametrov (parametre su zadane renderDefault($id=1, $podm=‚id‘, $url=NULL)), routovanie nastavene na

$router[] = new Route('[!index.htm[!l]]', 'Clanky:default');

Pekne mi to funguje na index.html a index.html?id=3.

Odkaz mi generuje cez $this->link(‚Clanky:default‘, array(‚id‘=>$id));
Ak sa zada /id-nejaky-text (napr. /8-o-nas), chcem, aby sa s tym „o-nas“ vobec nezaoberalo, aby sa staralo len o „id“ a na hlavnu stranku stale generovalo na index.html Pouzil som na to

$router[] = new Route('<id>[-<url>]', 'Clanky:default');

ktore mi vobec nefunguje, respektive zatial som nepochopil, ako to mam skladat, ci tie <id> a <url> preda ako argumenty renderDefault($id, $podm, $url)), alebo to musim spracovat v routovani na $router[] = new Route(‚<id>[-<url>]‘, ‚Clanky:default‘);

Prakticky mi tu druhu routu vobec nebere a len ma presmerovava ako predtym.

Keď skusam generovat cez $this->link(‚Clanky:default‘, array(‚id‘=>$id, ‚url‘=>$url));, tak mi zas
generuje index.html?url=hlavna-stranka a index.html?id=3&url=kontaktne-udaje.
Vobec nerozumiem, preco tam stale pcha ten parameter url.

Vdaka za vsetky napady

bojovyletoun
Člen | 667
+
0
-

„pcha“ ??? co to je?
<id>[-<url>] id je greddy, takže musíš určit, aby to bralo id jen do pomlcky třeba takto <id [\d+]>[-<url>]

ps: není to geekovská nemoc? přestávám psát velká písmena a diakritiku.

Editoval bojovyletoun (21. 4. 2011 16:06)

Filip Procházka
Moderator | 4668
+
0
-

pchá = tlačí, vnucuje

qacer
Člen | 8
+
0
-

ja sa ospravedlňujem, od rána študujem tie routy a stále tomu nerozumiem,nefunguje mi to, tak som na to už naštvaný a kvôli tomu som nepísal diakritiku, nech tú otázku a problém opíšem čo najrýchlejšie (hádam je to zrozumiteľné)

Editoval qacer (21. 4. 2011 16:17)