Uvoz proizvoda iz tekstualnih fajlova
Dodavanje proizvoda ručno je prihvatljivo ako u vašoj prodavnici imate samo nekoliko artikala. Ali šta ako imate stotine ili čak hiljade proizvoda? Ovaj metod zahteva mnogo vremena i nije efikasan za velike prodavnice. Zamislite da imate 10.000 proizvoda, a za unos jednog proizvoda je potrebno oko pet minuta – trebalo bi vam oko pet radnih meseci da završite unos. Takođe ćete se suočiti sa problemima kao što su spora internet konekcija ili greške u sistemu. Zato je najbolje rešenje uvoz proizvoda iz tekstualnog fajla. Možete uvoziti proizvode iz tri tipa fajlova: CSV (vrednosti odvojene zarezom), SSV (vrednosti odvojene tačkom sa zarezom) i TSV (vrednosti odvojene tabulatorom). CSV fajl čuva sadržaj tabele ili liste, gde su polja tabele odvojena zarezima. Na primer, ako imate sledeću tabelu:
CSV prikaz ove tabele izgleda ovako:
"Name","Category","SKU","Price"
"iPod Nano","iPods",100001,"199.99"
"iPod Classic","iPods",100002,"249.99"
"iPod Shuffle","iPods",100003,"79.99"
SSV fajlovi koriste tačku sa zarezom umesto zareza, dok TSV fajlovi koriste tab karakter za odvajanje polja. U ovom primeru koristićemo CSV fajlove, ali postupak je isti za sve tipove.
Pre nego što možete uvoziti CSV fajlove u Ubercart, potrebno je da instalirate modul Node import. Uradite sledeće:
1. Posetite http://drupal.org/project/node_import i preuzmite modul Node import. Izaberite najnoviju verziju za Drupal 6.x. Takođe morate preuzeti zavisne module Date i Advanced help. Preuzmite ih sa http://drupal.org/project/date i http://drupal.org/project/advanced_help.
2. Raspakujte fajlove i kopirajte ih u folder sites/all/modules.
3. Uključite module Date, Advanced help i Node import na stranici modula.
4. Stranica za uvoz sadržaja dostupna je na Administer | Content management | Import content.
Na stranici postoje tri kartice:
- List prikazuje sve kreirane uvoze i prikazuje sve učitane fajlove. Pošto niste kreirali nijedan, lista je prazna.
- New import pokreće čarobnjak za novi uvoz, kome ćemo se kasnije vratiti.
- Settings otvara stranicu podešavanja.
Pre početka uvoza, kliknite na Settings da pogledate konfiguraciju.
- Import directory je mesto gde možete postavljati CSV fajlove preko FTP-a ili čarobnjaka za uvoz.
- Ako želite da učitavate fajlove putem FTP-a, označite Allow FTP uploads.
- Iz bezbednosnih razloga, ako omogućite FTP upload, morate takođe podesiti vlasnika fajla u sledećem polju. U suprotnom, fajlovi će biti dostupni svima, čak i anonimnim korisnicima.
- Allowed extensions definiše dozvoljene ekstenzije fajlova. Ostali fajlovi se ignorišu.
Za većinu prodavnica nije potrebno menjati ništa, pa kliknite Sačuvaj konfiguraciju da se vratite nazad.
Pre nego što počnemo sa uvozom, upoznajmo se sa CSV fajlovima i njihovom strukturom.
Najjednostavniji način za kreiranje CSV fajla je korišćenje programa za tabelarne proračune kao što su Microsoft Excel ili OpenOffice. Ovi programi podrazumevano čuvaju fajlove u svom formatu, ali ih lako možete izvesti kao CSV. Popunjavanje tabela je znatno brže nego unos podataka direktno u Ubercart. Najveća prednost je što, ako već imate bazu podataka u nekoj drugoj aplikaciji, možete je pretvoriti u CSV i uvesti u Ubercart.
U tabelarnom fajlu, svaki red predstavlja proizvod, a svaki kolona svojstvo proizvoda. Zapamtite kako smo pravili novi proizvod? Za svako polje te forme treba napraviti posebnu kolonu. Nije potrebno unositi sva polja, samo najvažnija. Kao primer, napravio sam sledeću tabelu:
Sačuvajte tabelu kao CSV fajl.
Tabela sadrži šest kolona: SKU, naziv, opis, kategoriju, cenu i slike. Možete napraviti sličnu strukturu u svojoj aplikaciji i sačuvati CSV fajl. Poslednji korak je da preko FTP-a otpremite slike proizvoda na server, u folder sites/default/files. Kao što vidite u tabeli, koristim poseban folder "import" da odvojim ove slike od ostalih. Po defaultu slike se nalaze u korenskom folderu sites/default/files. Na primer, ako stavite slike u folder products unutar files, u koloni sa putanjom treba dodati prefiks /products/036.jpg.
Nakon čuvanja CSV fajla i otpremanja slika, vratite se u Ubercart i kliknite na dugme Novi uvoz. Počinje proces uvoza.
Uvodna stranica prikazuje osnovne informacije i glavne dugmiće. Pročitajte i kliknite Dalje.
1. Na prvoj stranici čarobnjaka izaberite tip sadržaja koji želite da uvezete. Izaberite Product i kliknite Dalje.
2. Na drugoj stranici izaberite ili otpremite CSV fajl. Ako već imate fajlove, videćete ih u listi i možete izabrati fajl koji želite da koristite. Ako želite da otpremite novi, kliknite na Pregledaj, izaberite fajl i kliknite na otpremanje. Nakon toga kliknite Dalje.
3. Na trećoj stranici možete podesiti osnovne opcije u vezi sa fajlom. Prvo označite da li prva linija sadrži nazive kolona – u ovom slučaju jeste, pa ostavite čekirano. Zatim izaberite format fajla – pošto je CSV, ne menjajte ništa. Na dnu stranice videćete primer podataka iz prve četiri linije fajla.
Microsoft Excel obično čuva CSV sa tačkom sa zarezom, dok OpenOffice koristi zarez.
Kliknite Dalje.
Moguće je da se pojavi greška poput:
Fatal error: Call to undefined function uc_product_node_is_product() in Z:\home\ubercart\www\sites\all\modules\node_import-6.x-1.0-rc4\node_import\supported\ubercart\uc_product.inc on line 15
U tom slučaju, posetite Ubercart forum za rešenje:
http://www.ubercart.org/forum/bug_reports/12843/csv_import_step_3
U liniji 15 fajla node_import\supported\ubercart\uc_product.inc:
uc_product_node_is_product($node_type)
zamenite sa
uc_product_is_product($node_type)
4. Na četvrtoj stranici treba da povežete kolone fajla sa poljima proizvoda. Ako ste koristili zaglavlja kao u primeru CSV fajla, modul će automatski povezati kolone. Ipak, proverite svako polje da budete sigurni da je povezivanje tačno. Ako nije, možete izabrati odgovarajuću kolonu iz padajućeg menija. Kada je sve tačno, idite na dno i kliknite Dalje.
5. Na petoj stranici možete podesiti dodatne opcije, ali možete ih ostaviti nepromenjene i kliknuti Dalje.
6. Na šestoj stranici postoje mnoge podrazumevane vrednosti koje se koriste kada polje nije definisano u CSV fajlu. Ako neka karakteristika proizvoda nedostaje, možete odabrati podrazumevanu vrednost. Kliknite Dalje.
7. Na sedmoj stranici možete pregledati niz podataka za uvoz. Pažljivo pregledajte kako biste uočili eventualne greške. Ako je sve u redu, kliknite Dalje.
Često mogu nastati problemi sa kodiranjem. CSV fajl mora biti u UTF-8 kodiranju. MS Excel podrazumevano čuva CSV u ANSI kodiranju, što može izazvati iskrivljene karaktere kao na slici:
Ako je sve u redu i nema problema, možete nastaviti sa uvozom cena.
8. Na osmoj stranici, poslednjoj pre završnog uvoza, možete pregledati osnovne parametre i neke uzorke podataka. Kliknite na Počni uvoz da nastavite. Kada proces bude završen, dobićete izveštaj o uspešno uvezenim redovima i redovima sa greškama. Ako vam CSV fajl više nije potreban, najbolje je da kliknete na Obriši i uklonite ga sa servera.
Nakon završetka uvoza možete pregledati izveštaj o greškama uvoza:
Bravo! Tokom uvoza često može doći do grešaka, ali ne brinite, to se dešava mnogima i rešenja se mogu naći na forumima. Uz pomoć Gugla lako ćete pronaći rešenje za većinu problema.
A sada, idemo direktno u katalog, eto ga: