![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę zrobić głosowanie mocne/słabe na swojej stronie jednak nie rozumiem jak to mam zrobić, czytam manual ale cięzko mi to zrozumieć. Jak mam to rozpocząć. Mam przykładowo IndexController a w nim indexAction w niej pobieram posty z bazy. W index.phtml mam pod kazdym postem oczywiscie id="" jest wartością zmienną każdy post ma inny. Jak ma zacząć bo wnioskuje, że muszę zrobić clase w /view/helpers ?
? proszę o jak najwięcej wskazówek ponieważ zależy mi żeby napisać ten skrypt a przy okazji się czegoś nauczyć. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz akcję np. voteAction() do której przekazujesz id postu i typ głosu (słaby/mocny), później robisz update na danych w bazie i zwracasz w akcji rezultat operacji (true/false bądź 1/0), oraz aktualny stan głosów dla danego postu.
Do strony dodajesz jQuery, łączysz się ajaxem z tą akcją, przekazując jej id postu i typ głosu, a następnie aktualizujesz te dane poprzez js. Raczej skomplikowane to nie jest : ) I zapoznaj się z tym:link. Dodajesz ajaxcontent do kontrolera i możesz sobie operować w taki sposób na akacjach, by móc je wykorzystać przy integracji strony z ajaxem. Ps. "id" to atrybut, który definiuje unikalny identyfikator elementu strony i może zostać użyty raz, a z tego co widzę masz dwa elementy <p> o takim samym id. Ten post edytował k_@_m_i_l 21.09.2011, 18:50:00 -------------------- "PHP to człowiek. MySQL to również człowiek."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz akcję np. voteAction() do której przekazujesz id postu i typ głosu (słaby/mocny), później robisz update na danych w bazie i zwracasz w akcji rezultat operacji (true/false bądź 1/0), oraz aktualny stan głosów dla danego postu. Do strony dodajesz jQuery, łączysz się ajaxem z tą akcją, przekazując jej id postu i typ głosu, a następnie aktualizujesz te dane poprzez js. Raczej skomplikowane to nie jest : ) I zapoznaj się z tym:link. Dodajesz ajaxcontent do kontrolera i możesz sobie operować w taki sposób na akacjach, by móc je wykorzystać przy integracji strony z ajaxem. Ps. "id" to atrybut, który definiuje unikalny identyfikator elementu strony i może zostać użyty raz, a z tego co widzę masz dwa elementy <p> o takim samym id. Czyli robie tak: w /view/index tworze plik index.ajax.phtml bo sam index.phtml już mam w IndexController
a w index.phtml jak? wstawić w header? i po kliknięciu w mocne już się wykona? jak własnie zrobić odnośnik? i do czego jest to data, do zwracania danych?
Ten post edytował przemo91r 22.09.2011, 11:58:36 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Ehh, nie rozumiesz troche.
Zobacz: w init() w kontrolerze zapisujesz coś takiego:
Teraz w akcji glosujAction() trzeba zapisać głos do bazy danych i odebrać aktualny stan głosów
i to jest koniec tej metody. Wszystkie zmienne, które chcesz żeby zostały przekazane zapisujesz do widoku. Z racji tego, iż dla naszej akcji glosuj użyliśmy contentswitch z typem json, to zend zwróci dane z tej akcji jako tablicę zakodowaną w jsonie. Teraz pozostaje już tylko napisać skrypt w jquery, który połączy się z akcją. Powiedzmy, że mamy taki kod html Teraz czas na odpowiedni kod w jquery:
O jQuery i html nie będę nic pisać, dostałeś gotowca więc teraz czas na ruch z Twojej strony i przeanalizowanie kodu. Kod działa, bo sprawdzałem;p Ten post edytował k_@_m_i_l 24.09.2011, 09:39:09 -------------------- "PHP to człowiek. MySQL to również człowiek."
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki, teraz już to rozumiem, na wolnym czasie do tego przysiąde, przanalizuje dokładnie i dostosuje do włąsnych potrzeb.
Ten post edytował przemo91r 27.09.2011, 20:32:20 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 11:39 |