Jump to content
ddww

rezerwacja produktu na jakiś czas

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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More