Hozzáadása több elem a kosárban VirtueMart egyszerűen hozzon létre egy honlapot!

Fő joomla virtuemart

Nemrég rábukkantam egy érdekes online áruház projekt összefüggésben joomla 1.5 és Virtuemart 1.1.9. Internetes bolt értékesítése számítógépek és kiegészítők. Az áruház kellett volna, konfigurátor, amely lehetővé kell tenni, hogy válassza ki a megfelelő alkatrészeket számítógép összeszerelés.

Aztán, miután a vevő választja ki a megfelelő tartozékokkal, akkor nyomja meg a „vásárolni”, hogy adjunk minden komponens a kosárba. Ezen chip, és azt akarom mondani, ebben a cikkben.

Hozzáadása több elem a kosárban VirtueMart egyszerűen hozzon létre egy honlapot!

Mint ismeretes VirtueMart nem teszi lehetővé, hogy adjunk több terméket a kosárba, és a vevő meg kell nyomnia többször „vásárolni” gomb megnyomásával külön-külön csomagolja, ez megalázó a vevő, és bizonyos esetekben büntető, és minden bizonnyal negatív hatással áruház nyereség.

Röviden a konfigurátor


Lehet, hogy találkozott hasonló konfigurátorok más online áruházakban. Configurator funkcionalitása megvalósítandó az alábbi módon - fog építeni egy „light X”, akkor automatikusan választja ki a vevő egyes alkatrészek (gyékénylap, processzor, tápegység, stb.)

Következtetés kívánt szerelés

Akkor megkapjuk a modulban GET paraméter és levezetni a kívánt algoritmust szerelvény.

Megjelenés konfigurátor.

Hozzáadása több elem a kosárban VirtueMart egyszerűen hozzon létre egy honlapot!

A bal oldali sávot valósult az aljzatba információt a kiválasztott elemek, a költség az összeszerelés és kattintson a „Pénztár” -hoz. Szintén jQuery valósult dinamikusan változó a skála (zaj, teljesítmény, fogyasztás).

Hozzáadása több elem a kosárban VirtueMart egyszerűen hozzon létre egy honlapot!

Hozzáadása több elem a kosárban egy kattintással


Nem tudom, hogy más online áruházak, hogy adjunk több terméket a kosárba egyidejűleg és Virtuemart Ez nem lehetséges, mivel szabvány. Ez elszomorított nagyon az elején, és elkezdtem gondolkodni, hogyan változik a koncepció a konfigurátor.

A kilépési volt, de úgy tűnt, otthonos felhasználási feltételeket. Meg lehet próbálni, hogy 1 db - 1 egységet. Assembly Jellemzők - A tulajdonságok. Ebben a verzióban, van olyan termék, amelynek komplex leírást minden tulajdon, kivéve az ár az áru függ a kiválasztott ingatlan - itt is meg kell gondolni, az elegancia a megoldás.

Ennek eredményeként úgy döntöttek, hogy összpontosítson a lehetőséggel, hozzátéve néhány elem a kosárban egy kattintással. Minél több a szerkezet a konfigurátor hajtották végre, és annak szükségességét, hogy adjunk néhány példány, eszembe jutott a végére.

A döntés jött szinte azonnal. Scratch egy formanyomtatvány Termék kosárba, rájöttem, hogy én is ugyanezt csinálja, Ajax technológia (lehetővé teszi a hozzáférést a kliens szerver nélkül az oldal frissítésével) a keret jQuery. És ha hozzátehetem Ajax 1 db, ami megakadályozza, add-ciklus több termék? Nos, a koncepció, balra, hogy egy kódot.

Az alábbiakban a kódját. A vonalak 1-16 leírt funkció (_POST (mass_id, i)), amely felelős a kiegészítéssel, egy tétel. A függvény 2 paraméterek: mass_id - egy sor termék azonosítók; i - tömb elemének számot, egy árucikk, amely növeli. Miért olyan bonyolult? mert akkor csak át az elemet id. Ezek a bajok vannak kényszerítve, az okok később nyilvánvalóvá fog válni.

A harmadik paraméter egy olyan funkció kerül meghívásra, ha a poszt kérelem feldolgozása után a terméket adunk. És itt van a probléma. Kezdetben megpróbáltam felhívni a _POST () funkció egy teljes ciklusát áruk, szemét ki, látszólag kérelmet követően megszakítja az előző, ennek eredményeként a véletlen elesések a kosárban termékek száma). Mi nem tetszik. Meg kell várni a következő utáni amikor végre lekérdezést, majd hívja a következő.

Ez úgy történik, csak használja a harmadik paraméter függvény módszer jQuery.post (). Egy másik funkció, _POST () függvény rekurzívan amíg nem megy át az egész tömb. Végén rekurzió átirányítani a kosárba.

Így a hívás _POST funkció (mass_id, 0) a tömb rekurzív mass_id termék kerül a kosárba.

Kihívlak _POST () függvény végzi gombra kattintva ID add_sborka. Ez akkor fordul elő vonalakon 18-27. Először egy tömb van kialakítva azonosítókat áru azon a tényen alapul, hogy a vevő által kiválasztott, majd rekurzívan hívott _POST () függvényt.

Remélem, hogy az anyag hasznos lesz, amíg újra nem találkozunk.