Datan migraatio .CSV-tiedostosta käyttäen Feeds- ja Commerce feeds moduuleita

Edellisessä artikkelissa ohjelmoimme moduulin, joka loi .CSV- tiedoston datasta toiselta palvelimelta. Nyt meidän pitää migroida eli tuoda tämä data järjestelmäämme. Ensimmäinen askel on luoda Commerce-kauppa, johon tuotteet ja tuote-variaatiot (Product Variations) kuuluvat. Muuten niitä ei voida luoda.

Tuote ja tuote-tyyppi

Tämän jälkeen tarvitsemme tuotetyypin ja tuotevariaatiotyypin. Tuotetyyppi on yleinen tuotepohja ja tuotevariaatio on tästä tuotteesta erilaiset muutokset. Esimerkiksi "Puuvillahouset" olisi tuote, mutta puuvillahousuista on olemassa värejä punainen/sininen/keltainen ja kokoja L/M/S, jotka siis määritellään variaatioina.

Tuotetyyppimme on siis "Huone" ja tähän tyyppiin määrittelemme kenttinä (Field) id:n, otsikon ja kuvan, että voimme esitellä huonetta.

Tuotevariaatio tarvitsee näyttää erilaisia "Huoneita". Tähän tarvitsemme myös id:n ja lisäkenttiä mm. otsikolle ja kuvaukselle.

Feeds-asetukset

Kun nämä on määritelty, tarvitsemme näitä vastaavat Feeds tyypit. Molemmat Feedsin tyypit käyttävät melkein samat asetukset.

 

Feeds Tamper basic settings
The fetcher eli hakija on "Tiedosto" ja sen parseriksi valitaan "CSV". Prosessoijaksi valitaan "Tuote" huoneillemme ja "Product variation" on erilaiset tuotekuvaukset. Tyypeiksi valitaan juuri luomamme Tuote-tyypit.

Muut asetukset voidaan valita käyttötapauksen mukaan. Ainoa tärkeä asia on, että erotinmerkki parserissa pitää vastata pitää vastata CSV-tieston erotinta, joka meillä on pilkku (,).

Seuraavaksi pitää asettaa Feeds tyypin mappaukset. Feeds toimii oikein vain, jos kaikki kentät on asetettu oikein. Aseta "Feed: Authored by" ja "Feed: Authored on" lähdekentiksi alle olevan kuvan mukaisesti. Lisäksi pitää asettaa "Status" ja "SKU", jonka Commerce tuotteet vaativat. Nämä ovat minimi-asetukset, jotka Feeds vaatii.

Lisäksi tuotetyyppimme tarvitsee "Kaupan" tai muuten Commerce ei voi importoida tuotetta. Kauppa ja status pitää importoida .CSV-tiedostosta, mutta "Authored by" ja "Authored on" ei. Kauppa pitää olla sama, johon tuotteet loimme.

 

feeds mapping

 

Valitsemme nyt kaikki muut kentät, jotka haluamme mapata .CSV-tiedostosta. Muista tallentaa!

Jos importoisimme nyt, niin variaatiot eivät tulisi näkyviin. Ne ovat yhdistetty niitä vastaaviin tuotteisiin SKU:n avulla, joka on määritelty .CSV-tiedostossa, muuta Feeds-moduulin pitää ymmärtää jotenkin tämä yhteys. Moduuli Feeds tamper luo uuden tabin "Tamper" Feed-tyyppien asetuksiin. Siellä voidaan luoda lisäasetukset (plugin) Feedstyyppi huoneellemme. Valise "Explode" eli erotin ja kenttä SKU, jonka erottimeksi valitsemme "|" merkin (jonka valitsimme edellisellä kerralla luodessamme .CSV-tiedostoa).

 

feeds tamper

 

Feedsien luonti ja sisällön tuonti

Kun olemme Feeds-tyypit, meidän pitää luoda itse Feedit. Valitse Sisältö -> Feeds. Nyt ei tarvitse kuin valitse polku .CSV-tiedostoon ja oikea erotinmerkki ','. Kun on luotu Feedsit tuotteille ja tuotevariaatioille, niin aktivoimme ne. Feedsit kuuluvut verkkosivun sisältöön, joten ne importoidaan kuten mikä tahansa muukin sisältö. Muuten ne joudutaan luomaan uudestaan, eikä niitä voida exportata config-tiedostoihin.

 

feeds

 

Kun teemme importin, niin järjestys on tärkeä! Meidän pitää importoida huonevariaatiot ennen tuotteita, muuten ne eivät ilmesty näkyviin. Feeds-moduuli tarvitsee väliaikaisen taulun tietokannassa, jossa se vertaa tuotujen variaatioiden SKU:ta tuotteiden SKU:hun ja yhdistää ne oikein. Tämä ei siis toimi toisinpäin.

Ohjelmoija
Janis Bullert

Lisää uusi kommentti