Principalul joomla virtuemart
Recent, am dat peste un proiect interesant magazin online coroborat 1.5 și Virtuemart joomla 1.1.9. magazin de Internet pe vânzarea de calculatoare și accesorii. Magazinul ar fi făcut configurator, care ar trebui să fie posibil să se selecteze componentele potrivite pentru asamblarea calculatorului.
Apoi, dupa ce cumparatorul alege accesoriile potrivite, este prin apăsarea „cumpara“ pentru a adăuga toate componentele din coș. Pe acest chip, și vreau să vă spun în acest articol.
După cum se știe virtuemart nu vă permite să adăugați mai multe articole în coșul dumneavoastră și cumpărătorul va trebui să apăsați de mai multe ori pentru a „cumpăra“ buton pentru a adăuga fiecare set separat, este umilitor pentru cumpărător, iar în unele cazuri penale, și avea cu siguranță un impact negativ asupra profiturilor magazin.
Pe scurt despre configuratorul
Este posibil să fi întâlnit configuratoarelor similare în alte magazine online. funcționalitate Configurator a fost să fie pus în aplicare în felul următor - de gând să construiască unele „X lumina“, acesta este selectat automat de către cumpărător, unele componente (de bord mat, procesor, sursa de alimentare, etc.).
asamblare dorit Concluzie
Apoi, vom obține în parametrul modulul GET și obține algoritmul dorit pentru asamblare.
Aspect Configurator.
Pe bara laterală din stânga a fost realizat cu informațiile soclu componentele selectate, costul pentru asamblarea și faceți clic pe „Checkout“. De asemenea, pe jQuery fost puse în aplicare modifică în mod dinamic scara (zgomot, performanță, consum).
Adăugarea de mai multe articole în coș într-un singur clic
Nu știu dacă alte magazine online pentru a adăuga mai multe articole în coșul dumneavoastră, simultan și în Virtuemart Acest lucru nu este posibil ca standard. Ea ma întristat foarte mult la început și am început să mă gândesc cum am schimba conceptul de configuratorul.
Ieșirea a fost, dar el părea termeni de utilizare familiară. Ai putea încerca să facă un element - 1 ansamblu. Caracteristici Adunarea - Atribute. În această versiune, avem un produs cu o descriere complexă pentru fiecare proprietate, cu excepția la prețul mărfurilor va depinde de proprietățile selectate - aici, de asemenea, trebuie să se gândească la eleganța soluției.
Ca urmare, sa decis să se concentreze pe posibilitatea de a adăuga câteva elemente în coș într-un singur clic. Cu cât este mai structura configuratorul a fost pus în aplicare, precum și necesitatea de a adăuga mai multe elemente, mi-am amintit brusc la sfârșitul anului.
Decizia a venit aproape imediat. Zero cu un formular standard pentru a adăuga produsul în coș, am dat seama că aș putea face același lucru folosind tehnologia Ajax (permite accesul la client la server fără a reîncărca pagina) utilizând cadrul jQuery. Și dacă aș putea adăuga Ajax 1 element, ceea ce împiedică add-ciclu de mai multe produse? Ei bine, conceptul este, lăsat să aibă un cod.
Mai jos este codul în sine. În liniile 1-16 funcția descrisă (_POST (mass_id, i)), care este responsabil pentru adăugarea unui element. Funcția are 2 parametri: mass_id - o serie de coduri de produse; I - un număr de element de matrice, o marfă care se va adăuga. De ce atât de complicat? pentru că puteți trece doar ID-ul elementului. Aceste probleme sunt forțate, cu privire la motivele vor deveni clare de mai jos.
Al treilea parametru, o funcție se numește atunci când solicitarea postare a fost procesată, se adaugă produsul. Și aici am o problemă. Inițial, am încercat să sun funcția _POST () adaugă un întreg ciclu de mărfuri, gunoiul, se pare că în urma unei cereri întrerupe cea anterioară, ca urmare a unor căderi accidentale în numărul coș de produse). Nu ne place. Este necesar să se aștepte următoarea postare interogare atunci când este executat apel și apoi următorul.
Acest lucru se face doar prin utilizarea a treia metoda funcției parametru jQuery.post (). O altă funcție caracteristică, _POST () este numit recursiv până când nu trece prin întreaga matrice. La sfârșitul recursivitatii pentru a redirecționa în coș.
Astfel, funcția de apel _POST (mass_id, 0) de matrice produse recursiv mass_id vor fi adăugate în coș.
Am provocare) funcția (_POST se face prin click pe butonul cu ID-ul add_sborka. Acest lucru se întâmplă în liniile 18-27. În primul rând o matrice este format ID-uri de bunuri bazate pe faptul că cumpărătorul a selectat funcția, apoi numit recursiv _POST ().
Sper că materialul va fi util, până când ne vom întâlni din nou.