Persistentni parametry a redirect
- fenix
- Člen | 16
Zdravim,
mam takovy problem.
- I kdyz mam nejaky parametr persistenti a volam nejakou akci, ktera meni jeho stav, tak tento parametr musi byt v akci definovan. To by mohlo byt jeste logicke.
- Z bodu 1 vyplyva, ze kdyz mam akci prijimajici dva perzistentni parametry actionDefault($param1, $param2 = null) tak kdyz predam v link jen $param2, protoze mu menim stav, tak dojde vzdy k presmerovani. Nebot pri volani linku
link default, param2 => neco2
se vytvori url
?param2=neco2¶m1=neco1
ale ta se presmeruje
na ?param1=neco1¶m2=neco2
Lze tohle nejak resit?
Dekuji
Editace: ted jsem si uvedomil, ze paramtr musi byt definovany, jen kdyz volam
link default, neco1, neco2
, ale nemusi byt definovany kdyz volam
link, 'param1' => neco1, 'param2' => neco2
.
Jeste zajimavejsi je, ze muzu volat
link default, neco1, 'param2' => neco2
a jeste vic zajimave, ze
muzu volat link default, 'param2' => neco2, neco1
. Jsem ted
z toho trochu jelen.
Kazdopadne kdyz se vratim k tomu redirektu, tak vzdy kdyz zavolam link
link default, 'param2' => neco2
a i kdyz nemam v akci
definovane parametry (protoze jsou perzistentni), tak se mi udela redirekt a
zmeni se poradi, protoze volani link
vygeneruje
?param2=neco2¶m1=neco1
ale nette se rozhodne ze spravne
poradi je ?param1=neco1¶m2=neco2
:(
persistentni parametry mam definovane pres
getPersistentParams()
Nette 0.9.3, PHP 5.2.8
Editoval fenix (18. 3. 2010 19:21)
- Honza Kuchař
- Člen | 1662
V čem je problém? Tak se přesměruje… Tomu se říká kanonikalizace. https://en.wikipedia.org/…nicalization
- Majkl578
- Moderator | 1364
honzakuchar napsal(a):
Tomu se říká kanonikalizace. https://en.wikipedia.org/…nicalization
Je to kanonizace.
fenix: Nevidím v tom žádný problém, opravdu ti záleží na pořadí parametru v url?
Editoval Majkl578 (18. 3. 2010 19:20)
- fenix
- Člen | 16
Majkl578 napsal(a):
honzakuchar napsal(a):
Tomu se říká kanonikalizace. https://en.wikipedia.org/…nicalization
Je to kanonizace.
fenix: Nevidím v tom žádný problém, opravdu ti záleží na pořadí parametru v url?
Me nezalezi na poradi parametru, ale vadi mi ten redirekt. Navic v nejake casti potrebuji kanonikalizaci kvuli seo. Nebo se tohle na routy vubec nevztahuje?
- fenix
- Člen | 16
Kdyz nad tim premyslim, tak podle me by se v tomto pripade o spravne razeni parametru melo postarat nette. Tim padem by se zbytecne neplitval redirekt.
Jedina moznost, jak toho dosahnout je uvest vsechny parametry, tudiz i perzistentni, kterym ale neni mnenena hodnota. Tim padem ale postradaji persistentni parametry smysl…
- Honza Kuchař
- Člen | 1662
fakt je, že je tam ten redirect zbytečný, protože nette mohlo vyplivnout link už se správným pořadím. Ale to je spíše feature request.
- fenix
- Člen | 16
honzakuchar napsal(a):
fakt je, že je tam ten redirect zbytečný, protože nette mohlo vyplivnout link už se správným pořadím. Ale to je spíše feature request.
Vzhledem k tomu, ze Nette umi kanonikalizovat, tak musi umet spravne seradit parametry :-).
Jedinny duvod, proc to nedela pri vytvareni linku muze byt vykonova ztrata. Ovsem tomu zase tolik neverim, porotoze teoreticky to stejne musi delat pri kazdem requestu. K tomuto by se ale musel vyjadrit David.