![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Uczę się symfony i postanowiłem się trochę pobawić przy skrypcie sklepu internetowego. Natknąłem się na problem z "koszykiem". Nie wiem dokładnie jak się za to zabrać. Czy do przechowywania informacji o dodanych produktach użyć sesji ? Czy wstawiać te info do bazy ?
Jak to rozwiązać ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jest przynajmniej jeden plugin koszyka dla sklepu - zobacz jak tam to zostało rozwiązane - jakich narzędzi użyto.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem
![]() Przeanalizowałem kod i mniej więcej wiem jak to zrobić, teraz moje pytanie brzmi: Tam to jest w formie biblioteki...gdzie ja w swojej aplikacji mam napisać metody (dodające do koszyka, usuwające...) Mam zrobić moduł "koszyk" a w actions punkcje add, remove etc ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie korzystałem z tego nigdy (tylko skojarzyłem, że takie coś w ogóle istnieje) ale jeżeli jest to standardowy plugin to znajduje się tam foldery odwzorowujące strukturę projektu. Generalnie symfony jest elastyczne pod względem lokalizacji klas. Przykładowo formularz może być w /lib/form, /apps/.../lib/form, apps/.../modules/.../lib/form, /plugins/.../lib/form. W modułach pluginu. Prawdę mówiąc to może być właściwie wszędzie (zależy to właściwie jedynie od ostawień Autoloadera).
Klasy przechowuj w miejscach o jak najbardziej "precyzyjnym położeniu", tj. jeżeli masz jakiś formularz z walidatorem, który jest specyficzny wyłącznie dla modułu ABC to umieść źródła w /apps/.../module/lib/form (oraz .../validator). Co do metod dodających/usuwających z koszyka to ich miejsce jest w modelu. Ten post edytował Crozin 6.09.2009, 18:48:51 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak Crozin powiedział, ich miejsce jest w modelu, dodatkowo do każdej czynności tj. usuwanie, dodawanie produktu do koszyka powinieneś sobie napisać oddzielną akcję która wywoła odpowiednią metodę z tego modelu koszyka. Akcje mogą być bez widoku i po wykonaniu kierować użytkownika z powrotem do punktu z którego użytkownik ją wywołał, lub też wywoływać je via AJAX.
Ten post edytował krowal 6.09.2009, 19:52:38 -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 17 Dołączył: 1.11.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
sam ostatnio implementowałem coś podobnego do koszyka mianowicie schowek na linki. W symfony to jest jakies 20 lini kodu i wszytsko jest gotowe z wykorzystaniem ajaxa. Bardzo pomocny jest tutorial na stronie projektu Symfony mianowicie
http://www.symfony-project.org/book/1_2/11-Ajax-Integration -------------------- Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 21:17 |