Construirea unui instrument de import al produsului CSV în OpenCart Partea 2

În ultimul nostru tutorial am discutat despre implementarea unui instrument de import, în care am creat un buton de import și șablonul de front-end. Astăzi vom afla cum putem importa în mod direct datele bulk din computerele noastre în sistemul OpenCart. 

Să luăm în considerare prima ierarhie. În tutorialul anterior am implementat instrumentul de export, care permite utilizatorului să descarce foi de CSV și să alterneze, dacă este necesar. Apoi am implementat instrumentul de import, care permite utilizatorului să încarce / importa acel fișier / date editat. Anterior am implementat aspectul. În acest articol, vom implementa funcționalitatea.

1. Fișierul controlerului

În ultimul tutorial, am creat un controler care ne împinge la aspectul formularului de încărcare. În fișierul de vizualizare a aspectului, am avut o intrare de încărcare în care utilizatorul poate încărca un CSV după cum se arată mai jos:

  1. Navigheaza catre admin / controler / Catalog / product.php.
  2. Găsi importCSV () Funcție, pe care am creat-o în tutorialul anterior.
  3. Loc dacă ($ this-> request-> server ['REQUEST_METHOD'] == 'POST')) după aceasta, să se asigure că partea de cod va fi executată numai dacă este trimis formularul de mai sus.
  4. În interiorul blocului de mai sus, vom adăuga codul explicat pas cu pas.

1.1 Obținerea fișierului

Următorul cod deschide fișierul CSV trimis și îl gestionează ca fiind numai pentru citire.

1.2 Treceți prin fiecare înregistrare

Acum trebuie să trecem prin fiecare rând din CSV și să salvăm db-ul nostru. În acest sens, vom trece prin înregistrări și le vom salva în consecință.

model_catalog_product-> importCsvData ($ date); // parsează datele la model altceva // în caz de erori, pune codul de depanare aici?

1.3 Redirecționarea

După terminarea importului, utilizatorul trebuie să fie redirecționat, astfel încât următorul cod să redirecționeze utilizatorul la formular și să dea un mesaj de succes.

sesiune-> date ['succes'] = 'CSV importat cu succes!'; // mesaj de succes $ this-> redirect ($ this-> url-> link ('catalog / product', 'token ='. $ this-> session-> data ['token' )); // redirecționat către pagina produsului? 

Până în acest moment, am creat o funcție care încarcă doar fișierul CSV, citește linia de date pe linie și o analizează pe model. Acum trebuie să creăm un model așa cum este definit în codul operatorului, care este responsabil pentru salvarea datelor parsate în db.

2. Fișier model

  1. Navigheaza catre admin / modelul / catalog / product.php.
  2. Creați o funcție publică numită acolo importCsvData (date $).
  3. În interiorul funcției de model, vom adăuga acest cod, care conține câteva interogări pentru salvarea datelor.
db-> interogare ("UPDATE" ".DB_PREFIX" produs "SET $ $ model" ", quantity = '". cantitate și modelul său dacă ($ name) $ query = $ this-> db-> interogare ("UPDATE" ".DB_PREFIX" product_description "SET $ this-> db-> escape ($ name) . $ product_id "" ").; // actualizați numele produsului?>

Concluzie

Deci, tutorialul de astăzi are în vedere furnizarea unei soluții complete pentru sistemul Export / Import. Oferim o astfel de soluție, în care utilizatorii își pot edita / actualiza datele. Această soluție este extrem de ușor de utilizat și de implementat. Aștept cu nerăbdare feedbackul dvs. Simțiți-vă liber să lăsați un comentariu sau o interogare de mai jos. Mulțumesc!

Cod