Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Koszyk w sklepie
Forum PHP.pl > Forum > PHP > Frameworki
stirith
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ć ?
Crozin
Jest przynajmniej jeden plugin koszyka dla sklepu - zobacz jak tam to zostało rozwiązane - jakich narzędzi użyto.
stirith
Znalazłem smile.gif

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 ?
Crozin
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.
krowal
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.
Gribo
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.