[ZendFramework] paginacja - problem z domyślną stroną |
[ZendFramework] paginacja - problem z domyślną stroną |
20.09.2012, 00:11:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
mam problem tego typu, że paginacja działa mi poprawnie dopiero jeśli dopiszę ręcznie w pasku nr strony np. 1 - później już normalnie przeskakuje.
problem nie występuje gdy otwieram stronę z kontrolera tj. public/index/index wtedy ładnie przeskakuje index/index/page/2 -> page/3 itd chciałem sobie ułatwić i ustawić aby zmienna page wczytywała się już w public np. public/2 paginacja wygląda standardowo jak poniżej:
i w application.ini poczyniłem coś takiego:
ma ktoś jakiś pomysł? Ten post edytował csharp 20.09.2012, 00:13:40 -------------------- Prywatny blog -> cupial.com.pl
|
|
|
20.09.2012, 00:58:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Jednym ze sposobów może być sprawdzenie:
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
20.09.2012, 22:51:43
Post
#3
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
dziwne... wrzuciłem to w kontroler i nic ;/ $p jest po prostu pusta... oczywiście jak dopisze ręcznie w adresie 1 lub 2 to wszystko dalej śmiga...
-------------------- Prywatny blog -> cupial.com.pl
|
|
|
21.09.2012, 00:17:44
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
1. Pokaż nam, jakich używasz adresów, jak one wyglądają, nazwę domeny możesz ukryć/zmienić
2. Czy używasz modułów? 3. ZF w wersji 2.0 czy niższej? 4. Nos mi podpowiada że to problem z tworzeniem adresów w widoku paginatora, więc jak możesz to wklej fragment kodu, jak tworzysz te linki |
|
|
21.09.2012, 12:27:20
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Skoro tak, to spróbuj:
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
21.09.2012, 12:32:31
Post
#6
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 26.06.2011 Ostrzeżenie: (0%) |
|
|
|
21.09.2012, 13:21:18
Post
#7
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
kurde chyba jest coś skopane... ani jedno ani drugie mi nie działa... ze zmienną $p i tymi ifami też nic..
@Psajkus ja tak pobierałem parametr wcześniej. zobaczcie raz jeszcze: 1. adresy, które uzywam wyglądają tak: nazwadomeny.pl/jakies-artykul.html -> ale to akurat nie ma na ten problem chyba żadnego wpływu...
strona główna to po prostu nazwadomeny.pl (tutaj wyświetla sie pierwsza strona z postami) i teraz, chce aby strony z postami były wyświetlane w nastepujący sposób: nazwadomeny.pl/1 -> pierwsza (domyślna!) strona nazwadomeny.pl/2 -> druga strona itd... posty dzielone są tak w public function init()
i w zasadzie wszystko pieknie działa wpisując nazwadomeny.pl/3 wyświetla mi się 3 strona tak jak chce. ale nie działa mi nawigacja tych stron jeśli jestem na stronie nazwadomeny.pl, nie mogę przejść do drugiej strony wykorzystując j/n kod:
jeszcze rzut na linki w my_pagination_control.phtml nic więcej nie używam do tego, nie mu tu modułów, wszystko opiera się na kontrolerze index, application.ini i widoku. rzut jeszcze na application.ini:
ZF poniżej 2.0 jedyny problem to taki, że przy pierwszej domyslnej stronie nie jest przesyłany parametr w linku np. "next" -------------------- Prywatny blog -> cupial.com.pl
|
|
|
21.09.2012, 16:47:53
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
Nie wiem dokładnie, jak ten Twój router działa, w każdym razie adres:
nazwadomeny.pl/3 to nie to samo, co nazwadomeny.pl/page/3 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
22.09.2012, 01:01:08
Post
#9
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
No to w takim razie jak działa, skoro to działa ? problem jest tylko z domyslnym adresem..
-------------------- Prywatny blog -> cupial.com.pl
|
|
|
22.09.2012, 11:26:57
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) |
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
25.09.2012, 09:44:09
Post
#11
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
ale to w bootstrapie się powinno gdzieś dać?
zacząłem kombinować jakoś tak:
no ale nie ma to żadnego wpływu.. kombinowałem, że może łatwiej będzie jak zacznę w taki sposób wyświetlać strony: nazwadomeny.pl/post/5 -> 5 strona i w zasadzie jak przejdę do nazwadomeny.pl/post to wyświetla się domyślnie 1 strona i nawigacja paginatora działa bez zarzutu zastanawiam się czy nie da się w tej nawigacji paginatora ustawić jakoś na sztywno tych adresów aby załapywało od razu, bo gdy jestem w nazwadomeny.pl to href="" w linku jest po prostu pusty.. jak przejdę ręcznie do 5 strony to bez problemu linki dizałają. //edit: chłopaki - macie jakieś pomysły jeszcze? -------------------- Prywatny blog -> cupial.com.pl
|
|
|
25.09.2012, 10:54:56
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
Sprawdź
|
|
|
25.09.2012, 13:16:04
Post
#13
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
dzięki mistrzu - działa
ale.. po drobnej przeróbce... musiałem wywalic nazwę podkatalogu... nie chciało mi to nadal działać jak było: '/post/:page' zostawiłem samo ':page' i normalnie śmiga i przekakuje na nazwadomeny.pl/2 macie jakis pomysł od czego to może zależeć? -------------------- Prywatny blog -> cupial.com.pl
|
|
|
25.09.2012, 20:13:35
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
Pewnie jest konflikt ze standardowymi routingami Zenda, które pewnie można wyłączyć czy nadpisać ale ja nigdy tego nie robiłem, bo wg mojej filozofii defaultowe routingi muszą działać dla potrzeb developerskich, jak wpiszę kontroler/akcja/page/1/kategoria/345 to ma to działać i już. Tak samo u Ciebie jakbyś tak wpisał to na 99% by działało i od razu wiesz, że masz problem z routingiem a nie np. z kontrolerem czy dispatcherem.
Każdy adres typu .pl/costam/ktostam będzie traktowany jako kontroler/akcja, dlatego radzę unikać podobnej do defaultowej nomenklatury w swoich routingach i bawić się w to dopiero na końcu bo potem okazuje się, że i tak trzeba je kilka razy przerabiać. Najlepiej od razu przemyśleć całą koncepcję adresów i zawrzeć ją w konfiguracji, tak, żeby łatwo można było przełączyć się na wersję standardową. |
|
|
25.09.2012, 21:41:32
Post
#15
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 3 Dołączył: 22.04.2012 Skąd: Warszawa Ostrzeżenie: (0%) |
no dobra... ale ja aplikacje dopiero tworzę... w takim razie co mogę zmienić aby to działało jak powinno? co mogę pokazać?
jeśli chodzi o routingi to mam tak:
masę podstron o takim przekierowaniu:
i jednen o takim - który na podstawie adresu z bazy przekierowuje na przyjazny adres:
i w zasadzie to wszystko... co z tego może rozwalać mi moją koncepcje? -------------------- Prywatny blog -> cupial.com.pl
|
|
|
26.09.2012, 22:40:51
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
Tam gdzie używasz .html wygląda ok, ale ja zalecam dokleić do adresu także ID - jest szybciej i mniej kłopotliwie, dla SEO to żadna różnica jeśli doklejasz ID na końcu adresu a i na potrzeby developerskie sprawdza się dużo lepiej, nie muszę się zastanawiać, jaki jest ID artykułu w którym coś nie bangla.
Kod resources.router.routes.news.route = "newsletter" - ten też wygląda ok, ale jeśli mamy dużo "sztywnych" adresów to warto je obsłużyć jednym routingiem żeby nie mnożyć sztywnych deklaracji routingów bez potrzeby, można też wrzucić listę stron "stałych" do modelu a routing tego typu definiować w bootstrapie - łatwiejsza jest wtedy modyfikacja i implementacja, możesz sobie sprawdzać, czy do obsłużenia np. reguły "newsletter" istnieje specjalna akcja i ją wywołać a jeśli nie, to renderować tylko widok o takiej nazwie a jeśli i jego nie ma, to wyjątek -> strona błędu.resources.router.routes.news.defaults.controller = "index" resources.router.routes.news.defaults.action = "newsletter" Kod resources.router.routes.homepage.route = "/" - te routingi nie wiem za bardzo co mają robić, przecież strona główna to kontroler index i akcja index, jest to także domyślny routing (czyli jak nie znajdzie żadnego dopasowania to żądanie zostanie obsłużone właśnie przez tą akcję) a by wygenerować adres strony głównej nie potrzebujemy chyba routingu ani tym bardziej kilku?resources.router.routes.homepage.controller = "index" resources.router.routes.homepage.action = "index" resources.router.routes.domowa.route = "/" resources.router.routes.domowa.defaults.controller = "index" resources.router.routes.domowa.defaults.action = "index" Powiem tak, jeśli używasz routingów na modłę Zendową, to używaj jakiegoś klucza, np: Kod resources.router.routes.artykuly.route = ":title/:id" - źleKod resources.router.routes.artykuly.route = "artykuly/:title/:id" - dobrzeInaczej są problemy, istotna staje się kolejność routingów i tak dalej a przede wszystkim ktoś kto siądzie potem do tego kodu będzie miał problem. I pamiętaj, że jak używasz this->url to korzysta on nie tylko z przekazywanych parametrów, ale także tych w GET - można to którymś parametrem wyłączyć (chyba trzecim, bo drugi to nazwa routingu) |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 18:57 |