VisualPaginator s úplným odkazom na prvú stránku
- fiso
- Člen | 32
Ahojte,
V komponente VisualPaginator
potrebujem spraviť aby odkaz na
prvú stránku [1] mal v sebe ?paging-page=# kde # je číslo ktoré si tam
vždy dosádza. Toto sa ale nedeje pri odkaze na prvú stránku. Mám tušenie
že to môže mať niečo s odstránením URL duality
www.example.com/list/?page=1
a www.example.com/list/
kde tieto stránky sú identické, no majú dve URL.
Čo ale potrebujem spraviť je aby tam paginator to ?page=1 naozaj dával, a
keď sa niekto dostane na stránku www.example.com/list/
tak ho to
presmeruje na www.example.com/list/?page=1
Vďaka za nápady.
- Honza Kuchař
- Člen | 1662
v presenter startup() kontrolovat zda je parametr page? Pokud ne → redirect?
- vlki
- Člen | 218
honzakuchar napsal(a):
v presenter startup() kontrolovat zda je parametr page? Pokud ne → redirect?
Hm, to asi nepomůže, protože parametr page se ztrácí kvůli kanonikalizaci a ta v případě persistentního parametru page v komponentě parametr page úplně z url odstraní, pokud bude mít stejnou hodnotu jako nastavená výchozí (teď tedy číslo 1).
Vše, co je nutné udělat pro takové chování, je nastavit výchozí hodnotu persistentního parametru page ve VisualPaginatoru na NULL. V metodě loadState ještě přidat nějakou podmínku, že pokud se page rovná NULL, tak ho nastavit na 1. S poděděním by to mohlo jít i docela čistě.
Zajímalo by mě ale, proč je takové chování vyžadované. Vždyť čím míň parametrů v url, tím lépe, ne?:)
- fiso
- Člen | 32
vlki vďaka, funguje to perfektne :)
Prečo to robím? Mám v Javascripte spravené zvýrazňovanie aktuálnych odkazov, a ak by to bolo po starom, tak by sa zvýraznil odkaz v menu ale aj v stránkovadle. Nechcem to robiť v PHP, lebo mi to pripadá strašne nečisté mať v template všade {ifCurrent …} Možno si na to ale spravím filter, no pripadalo mi to príliš komplikované.