I vår siste opplæring diskuterte vi hvordan du implementerer et importeringsverktøy, der vi opprettet en importknapp og frontend-mal. I dag lærer vi hvordan vi direkte kan importere bulkdataene fra våre datamaskiner til vårt OpenCart-system.
La oss se på hierarkiet først. I den tidligere opplæringen implementerte vi eksportverktøyet, som lar brukeren laste ned CSV-ark og alternere etter behov. Deretter implementerte vi importverktøyet, som lar brukeren laste opp / importere den redigerte filen / data. Tidligere implementerte vi oppsettet. I denne artikkelen implementerer vi funksjonaliteten.
I vår siste opplæring opprettet vi en kontroller som skyver oss til oppsettet av opplastingsskjemaet. I visningsfilen til oppsettet hadde vi en opplastingsinngang der brukeren kan laste opp en CSV som vist nedenfor:
admin / styreenhet / katalog / product.php
.Importer CSV ()
Funksjon, som vi opprettet i den forrige opplæringen.hvis (($ this-> request-> server ['REQUEST_METHOD'] == 'POST'))
etter det, for å sikre at kodedelen bare blir utført dersom ovennevnte skjema er sendt inn.Følgende kode åpner den innsendte CSV-filen og håndterer den som skrivebeskyttet.
Nå må vi komme gjennom hver rad av CSV og lagre inn i vår db. I denne sammenheng vil vi løse gjennom arkene og lagre dem tilsvarende.
model_catalog_product-> importCsvData ($ data); // parse dataene til modell ellers // ved feil, sett debugkode her?>
Etter at importen er ferdig, må brukeren omdirigeres, slik at følgende kode omdirigerer brukeren til skjemaet og gir en vellykket melding.
økt-> data ['suksess'] = 'CSV vellykket importert!'; // suksessmelding $ this-> omdirigere ($ this-> url-> link ('katalog / produkt', 'token ='. $ this-> økt-> data ['token']. $ url, 'SSL' )); // omdirigert til produktsiden?>
Frem til dette punktet har vi opprettet en funksjon som bare laster opp CSV, leser datalinjen etter linje og analyserer den til modellen. Nå må vi lage en modell som definert i kontrollerkoden, som er ansvarlig for å lagre de analyserte dataene i db.
admin / modell / Katalog / product.php
.importCsvData ($ data)
.db-> forespørsel ("UPDATE" ".DB_PREFIX." produkt "SET. $ model." ", kvantitet = '". (int) $ kvantitet.' 'WHERE. $ product_id. "" "); // oppdateringsprodukt kvantitet og dens modell hvis ($ navn) $ query = $ this-> db-> spørring ("UPDATE" ".DB_PREFIX." product_description 'SET. $ this-> db-> escape ($ navn). . $ produktjd "". "); // oppdatere navnet på produktet?>
Så, dagens opplæring handler om å gi en komplett løsning for eksport / import-systemet. Vi tilbyr en slik løsning, der brukere kan redigere / oppdatere dataene sine. Denne løsningen er super enkel å bruke og implementere også. Jeg ser frem til din tilbakemelding. Ta gjerne en kommentar eller spørring under. Takk skal du ha!