Jump to content

rezerwacja produktu na jakiś czas


ddww

Recommended Posts

Witam, próbuję napisać na SZTYWNO (nie jako moduł) funkcję rezerwacji produktu w sklepie.

 

1. Chodzi mi o to, że zalogowany klient po wejściu w produkt pod przyciskiem DODAJ DO KOSZYKA ma przycisk REZERWACJA i po kliknięciu w niego produkt jest rezerwowany na np. 5 godzin.

 

2. Po zarezerwowaniu po wejściu innego klienta w ten produkt przycisk DODAJ DO KOSZYKA jest niewidoczny i jest informacja PRODUKT CHWILOWO NIEDOSTĘPNY (przez 5h).

 

3. Jeśli nie zrealizuje zamówienia w ciągu tych 5 godzin wtedy produkt wraca do sprzedaży.

 

Niby prosta sprawa, ale nigdy nie miałem styczności z prestą i nie wiem w których plikach mam działać.

 

Proszę o jakieś wskazówki.

Link to comment
Share on other sites

jest to dość złożone przedsięwzięcie, które wymagać będzie dość sporego nakładu pracy i testów, nie jest to takie proste jak się może wydawać

 

1) edycji bazy danych (do ps_product dodajesz kolumne rezerwacja [true / false], czas rezerwacji [timestamp])

2) edycji klas pobierajacych produkty (pobieranie z bazy informacji o rezerwacji) i dodających produkt do koszyka (dodanie produktu do koszyka aktualizuje rezerwacje na true i dodaje aktualny czas do czasu rezerwacji)

3) edycja szablonów .tpl (product.tpl / product_list.tpl) gdzie dodajesz {if} sprawdzający czy produkt jest w rezerwacji - jeżeli jest, nie pokazujesz add to cart, jeżeli nie jest - pokazujesz add to cart

4) jakiś cron job który będize aktualizował statusy rezerwacji (sprawdzanie po czas_rezerwacji < timestamp+5h = rezerwacja false)

 

to naprawdę wymaga sporego nakładu modyfikacji, prac i testów

myślę, że moje wskazówki mogą pomóc w rozwikłaniu twojego problemu

Link to comment
Share on other sites

Dzięki za szybką odpowiedź.

 

A mógłbyś trochę rozwinąć pkt. 2? Które pliki i które funkcje musiałbym zmienić?

 

A może znasz jakiś łatwiejszy sposób na to? Ogólnie chodzi o to, że np. klient A dodaje do koszyka jakiś produkt, ale na razie nie realizuje zamówienia bo np. jutro chce to zrobić. Klient B też dodaje do koszyka ten produkt, ale on od razu realizuje zamówienie i wtedy klient A nie ma możliwości kupienia tego produktu.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...