Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Witam,
Chciałbym zapytać jak w tym kawałku kodu zmienić metodę przesyłania z POST na GET. Być może dla niektórych jest to banał, niestety ja nie mam pojęcia o zend framework (szukałem artykułów z tym związanych, jednak moje działania nie przyniosły skutku). Będę zobowiązany za pomoc. Funkcja odpowiadająca za wyszkuwanie:
HTML+PHP (wiem, żeby zmienić <form action="get">)
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
Primo: dokumentacja to Twój przyjaciel
Secundo: czyli zamieniasz każde if($this->_request->isPost()) na if($this->_request->isGet()) oraz foreach($this->_request->getPost() as $name => $value) na foreach($this->_request->getParams() as $name => $value) Tertio: Po co chcesz to w ogóle zmieniać metodę na get? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Dziękuję za pomoc.
Tertio: Po to, żeby po wejściu w dane ogłoszenie i naciśnięciu przycisku "Wstecz" nie było komunikatu o tym, że dane muszą zostać ponownie przesłane, tylko, żeby użytkownik wrócił do przeglądania ogloszeń. W przypadku IE "Strona sieci web wygasła". Jeszcze pytanie w jaki sposób załatwić to ze stronicowaniem? Bo tutaj są przyjazne URLe, a kiedy kliknę przycisk strony "Następna" to przekierowuje mnie na stronę główną wyszukiwarki, a nie do kolejnych wyników. Wiem, że trzeba przekazać parametry do kolejnej podstrony, tylko nie bardzo wiem jak zrobić to zgodnie z założeniem frameworka. Dodać kolejne $this->view->(tutaj nazwa z parametrami, tylko jak?)
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
W kontrolerze:
W widoku phtml: <a href="<?php echo $this->baseUrl . '/page/' . $this->pageNumber;?>">następna</a> i "doklejasz" kolejne parametry itd. Edit oczywiście pageNumber++ dla następnej i pageNumber-- dla poprzedniej (IMG:style_emoticons/default/smile.gif) Ten post edytował darko 18.03.2011, 10:15:39 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Szanuję Twój czas, ale czy mógłbyś mi wytłumaczyć mi to jak krowie na miedzy? W którym miejscu mam przerobić ten kod? Kombinuję już od paru godzin.
Kod kontrolera odpowiadający za stronicowanie wyników:
Widok (renderowany w każdym pliku w którym ma być stronicowanie).
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
Szanuję Twój czas, ale czy mógłbyś mi wytłumaczyć mi to jak krowie na miedzy? W którym miejscu mam przerobić ten kod? Kombinuję już od paru godzin. To napisz konkretnie, co Ci nie działa i co chcesz osiągnąć, a jak znajdę chwilę, to się nad tym zastanowię i odpiszę. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Dodaję:
po
Usuwałem, modyfikowałem nazwy, ale bezskutecznie (biała strona, całkowity błąd). Gdybyś mógł sprecyzować jak działa i jak połączyć to z obecnym stronicowaniem:
Bo w całym dokumencie nie mam zmiennej pageNumber (jest gdzieś zadeklarowana we frameworku?) Chcę osiągnąć aby stronicowanie działało tak jak wcześniej, z tym, że dla każdej strony przekazywane są parametry poprzez URL. Link do podstron po wyszukiwaniu metodą POST wyglądał tak: adv/search/1.html druga strona adv/search/2.html itd. Chcę aby do każdej (liczba).html były przekazywane wszystkie parametry (GET) tj. żeby link wyglądał tak: adv/search/1.html?advertisementType=0&propertyType=0&province=5&areaSizeFrom=&areaSizeFor=&city=&priceFrom=&priceFor=&keyword=&x=6&y=14 Druga strona adv/search/2.html?advertisementType=0&propertyType=0&province=5&areaSizeFrom=&areaSizeFor=&city=&priceFrom=&priceFor=&keyword=&x=6&y=14 Będę wdzięczny za wszelkie wskazówki. Ten post edytował Ravik 18.03.2011, 17:06:41 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
Daj na początku szablonu roboczo linijkę:
albo ini_set'em poustawiaj odpowiednie wartości stąd przynajmniej będziesz wiedział, co jest źle. Odnośnie pokazywania wyników wyszukiwania w postaci strona1.html, strona2.html, to pewnie będziesz musiał też zmodyfikować .htaccess, który przepisuje regułę linków dla stron z wynikami. W tym momencie na podstawie kodu, który wrzuciłeś nie jestem w stanie nic więcej powiedzieć. pageNumber to chyba była tylko przykładowa nazwa zmiennej przechowującej aktualną stronę z wynikami. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Wszystko działa teraz świetnie (wyszukiwanie i przekierowywanie na kolejne podstrony), z tym, że w każdym przypadku wyszukiwania obcina ilość ogłoszeń do 14. Na pierwszej stronie jest ich 10, a na drugiej już 4, pojawia się również link do kolejnej strony (na drugiej stronie), ale po kliknięciu w niego (przejściu na stronę trzecią i wyżej) pojawia się komunikat, że nie ma już ogłoszeń. Przykład działania można zobaczyć na: domowisko.pl i wybrać kryteria wg. województwa np. "mazowieckie" i kliknąć "Szukaj".
Obecny wygląd funkcji z kontrolera odpowiadająca za wyszukiwanie:
Plik odpowiadający za wyświetlenie linków
Routing z wyszukiwania:
Ten post edytował Ravik 19.03.2011, 15:48:44 |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%)
|
Może użyj gotowej klasy nospora
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 3 Dołączył: 8.05.2009 Ostrzeżenie: (0%)
|
Niestety to mnie nie ustawia, bo całość opiera się na frameworku, i musiałbym przerabiać kilkanaście plików, odpowiednio nazywając zmienne.
A kiedy klikamy na mapkę z województwami to stronicowanie działa poprawnie (z tym, że tam są przyjazne linki) Może problem błahy? Ten post edytował Ravik 19.03.2011, 16:26:20 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 1 Dołączył: 24.04.2007 Skąd: wwa Ostrzeżenie: (0%)
|
@Ravik: widzę że ponownie chcesz wynaleźć koło (IMG:style_emoticons/default/smile.gif) spoko do stronicowania w zend framework jest już od dawna gotowy komponent który działa wyśmienicie nazywa się Zend_Paginator
http://framework.zend.com/manual/en/zend.paginator.html za jego pomocą możesz stworzyć sobie select'a (dowolnego dziedziczącego po Zend_Db_Select, przykłady w dokumentacji) którego możesz dowolnie obwarować warunkami, tworząć tym samym kompletny automat, dodając klase formularza dziedziczącą po zend_form całą akcję będziesz mógł załatwić w jedenj akcji ty stworzysz select'a a paginator automagicznie bedzie trzymał stan w zależności od parametru i działa z routerami, polecam lekture przykłady są naprawde dobre |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 20:18 |