Jump to content

segítséget keresek modul íráshoz - termék lefoglalás


hege
 Share

Recommended Posts

Sziasztok,

Tud valaki nekem segíteni a következő modul elkészítésében:
termékekből csak egy darab lenne a boltban (egyedi termékek)
Ha valaki beleteszi a terméket a kosarába akkor az lefoglalódik, nem kell azonnal megrendelnie a kosár tartalmát, ráér később, mikor új termék érkezik és tud többet venni egyszerre.
Max pl 20 terméket lehet a kosárba tennie, többet nem. Ha beletette akkor 1 napja van hogy kivegye, utána nem lehet kivenni (meg kell rendelni). Ha az első termék behelyezését követő pl 1-2 hétben nem rendeli meg a termékeket akkor a kosár kiürül és újra mindenki számára elérhető.

vannak a prestában jól hozzá illő részek pl az hogy lehet értesítést kérni out of stock termék újra elérhetőségéről, továbbá ha out of stock akkor nem rendelhető de megjelenik a shopban.
out of stock eset nálam nem lenne.

valaki tud-e nekem segíteni ebben? hogy érdemes csinálni? másrészt ha valaki ért hozzá akkor le is fejleszthetné. (természetesen nem ingyen).

üdv,
Gábor

Share this post


Link to post
Share on other sites

Itt egy jelentős ellentmondás van:
"Ha beletette akkor 1 napja van hogy kivegye, utána nem lehet kivenni (meg kell rendelni). Ha az első termék behelyezését követő pl 1-2 hétben nem rendeli meg a termékeket akkor a kosár kiürül és újra mindenki számára elérhető."
Tehát most meg kell rendelnie 1 napon belül vagy ráér akár 1-2 hét múlva is?!
Ezzel hogy biztosítod az elállás jogát? Ez nem aukció, a jelenlegi jogszabályoknak nem biztos hogy megfelel!

Share this post


Link to post
Share on other sites

Szia,

bocsánat nem fogalmaztam jól.

Ha beletesz egy terméket akkor 1 napja van hogy kivegye azt a kosárból utána nem lehet törölni.
az első betett terméktől indul az idő számláló, innentől számított két hete van hogy megrendelje a kosár tartalmát. 2 hete van hogy rendeljen, de nem kötelező hogy megrendelje a kosarát.

Ennek az lenne a lényege hogy pl naponta frissül a termékkínálat, neki tetszik 1-2 dolog minden nap amit meg is akar venni, de mivel egybe a szállítás (és pl a saját bónusz kedvezményeivel) olcsóbb ezért egybe venné meg.
Ha nem tudja lefoglalni akkor más elviszi, mert minden termékből csak egy van.
Az pedig hogy időlimites azért van hogy végtelenségig ne lehessen foglalni.

Olyanra is gondoltam hogy nem akkor foglalódna ha kosárba teszi hanem lehetne választania hogy [megrendel] vagy [lefoglal] és ha lefoglalja akkor foglalódik a termék.

ötletek?

Share this post


Link to post
Share on other sites

Szia,
Én biztos hogy nem tudom lefejleszteni Neked, idő hiányában. Azonban ha érdekes, elmondom hogy hogy kezdenék hozzá, nagy vonalakban.
Könnyen lehet, hogy amit mondok az helytelen. Ilyen jellegű átalakításról nincs tapasztalatom. Döntsd el, hogy tudod-e használni azt amit mondok, vagy sem.
Tehát egyedi termékek. Ezzel nincs gond, fel kell venni egyet, ezt tudja a Presta (rémlik egy hasonló oldal ahhoz, amit akarsz; ott minden nap van egy db termék áron alul, és arra lehet licitálni (minden nap más termék véletlenszerűen)), aztán amikor valaki befoglalja, akkor inaktívvá kellene tenni a terméket (jön a kérdés: ha valaki befoglalja, akkor a termék eltűnjön, vagy maradjon megjelenve, csak ne foglalhassa be más?) előző esetben meg kell keresni php-ben azt a részt, amikor adminban ki tudod kapcsolni a terméket, és vagy ezt a részt megadni neki befoglalás után, vagy jön az utóbbi verzió (amikor maradjon csak ne foglalhassa be más) ki kell adni a php-nek hogy a termék Quantity-jét redukálja 0-ra (vagy csak egyszerűen 1 Quantity-t állítasz be minden termékhez).
"Max pl 20 terméket lehet a kosárba tennie, többet nem" => ez nem nehéz, gondolom én megadod a cart-nak a kódban hogy mennyit lehet befoglalni maximum.
"Ha beletette akkor 1 napja van hogy kivegye, utána nem lehet kivenni (meg kell rendelni)." => ez sem nehéz, a befoglalástól számítva indítani kell egy time thread-et, 24 órás időlimittel. Vagy => megjegyezteted a befoglalás időpontját, majd egy if-else-vel minden időegységben megvizsgálod, ha letelt a 24 óra, akkor már nem veheti ki (szintén "törlés" opció megkeres, kiiktat).
Ugyanezen módszerrel lehetne megoldani talán a 2 hetes megrendelést is. Amúgy egy kérdés: ha nem akarja megrendelni, de letelt az 1 nap, mit csinálsz? Ő lelép, Neked meg kell várnod két hetet, így a terméked mások számára nem elérhető, aki meg befoglalta, már rég lelépett. Így - hogy nem rendeli meg - elveszed mások elől a lehetőséget - két hétig - a megrendelésre.
A login-t is át kellene nézni. Emlékeim szerint a presta megjegyzi, hogy mi volt a kosárban, kijelentkezés-bejelentkezés után is. Kellene azért egy tesztet végezni úgy, hogy befoglalsz valamit, majd a böngészőben törlöd a cookie-kat, aztán visszajelentkezel, megvan-e még amit befoglaltál. Amennyiben nem, akkor ezt is meg kellene oldani.
Egyenlőre talán ennyi. Ismétlem: könnyen lehet hogy eszmefuttatásom több ponton is téves, vagy az egész rossz. Csak el akartam indulni egy vonalon.

Attila

Share this post


Link to post
Share on other sites

Szia,

Nagyon köszönöm a választ.
Ilyen hozzászólásokat szeretnék látni, hogy el tudjak indulni valamerre. köszönöm.

Az ötletek jók. Arra gondoltam még hogy a mentett kosár tartalmára csinálok egy külön db táblát, csak nem tudom mennyire ütközik össze a kukikban tártolt kosárral...

A két hét vásárlási időlimit az kb rövidebb lenne mondjuk 1 hét, ami már nem kritikus. A prestában meg van olyan hogy értesítést kérsz a termékről ha újra elérhető.
A funkció maga szükséges még akkor is ha a rosszindulatú vásárlók eléggé meg tudják nehezíteni a bolt működését.
Erre még ki fogok találni valamit.

üdv

Share this post


Link to post
Share on other sites

Szia,

Örülök, hogy hasznosnak találod az infót. A mentett kosár tartalmára vonatkozóan nem tartom rossz ötletnek egy új tábla létrehozása erre a célra, talán még annyit tennék hozzá hogy megnézném sql-ben a mostani kosár tábláját.
"nem tudom mennyire ütközik össze a kukikban tártolt kosárral…" => ha ez így működik, akkor úgy csinálnám hogy megnézném, melyik tábla(-ák)
felelnek a kosár tartalmáért, azt egy az egybe lemásolnám (a végére biggyesztett 2-sel), és amikor átalakítod a kosár táblája 2-t, akkor az eredetit átnevezed pl.: kosartabla_regi-re, a kosartabla_2-t meg simán kosartabla-ra, hogy azt használja. Így könnyen lehet tesztelni, hogy a változtatásaid elérték-e a célt, és ha bármi baj történik, akkor csak gyors visszanevezed őket és javíthatod is a hibát.
Vásárlási időlimittel egyetértek. Így praktikusabb.
"A prestában meg van olyan hogy értesítést kérsz a termékről ha újra elérhető. " => és ez milyen hasznos :)

Attila

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Köszi az ötletet, olvastam egyből kommetet bocs hogy csak most írok vissza.

Szerintem lassan nekiugrok a modulnak. meglátjuk milyen szinten fejleszthető bele, de szerintem megoldható.
Majd írok hogy hogy oldottam meg.

üdv

Share this post


Link to post
Share on other sites

Szia

A cart táblában vannak a kosarak adatai, minden kosárnak megadhatsz érvényességi időt (cart_product date_add + x idő ) és a benne lévő termékeket le tudod tiltani a product táblában, ha kosárba tette valaki ekkor más többé nem látja (bár lehet, hogy az adott vevő sem, meg kell próbálni), vagy ahogy az előttem szóló mindenből csak egy darab lenne raktáron, ekkor várólistára kerülne a második vevő. Ha a kosárból adott idő után nem lesz rendelés akkor a benne lévő termékek újra engedélyezésre kerülnek egy cron folyamat által illetve ha van a sorban várakozó, neki is küldhet levelet, hogy szabad az áru. Ehhez a kezelő osztályokat cart, product, kellene átírni. A cart gondoskodhatna továbbá az egy nap utáni törlés tiltásáról is.

üdv:
Imre

Share this post


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

×
×
  • Create New...

Important Information

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