Pliki CSV.
Dane do sklepu oscGold można importować lub eksportować za pomocą plików CSV.
Są to pliki które posiadają strukturę podobną do arkusza kalkulacyjnego. Plik CSV zawiera odpowiednio zapisane kolumny, które zawierają dane. Każdy wiersz w pliku to kolejny wiersz arkusza kalkulacyjnego, a poszczególne kolumny w wierszu są oddzielone przecinkiem. Plik CSV jest to zwykły plik tekstowy, który można edytować przy pomocy edytorów tekstowych np. Notepad++. Ważną kwestią jest kodowanie polskich znaków w pliku. oscGold zapisuje pliki CSV w formacie UTF-8. |
Eksport danych do pliku CSV.

W części górnej znajdują są opcje, które umożliwiają przygotowanie indywidalnego szablonu pliku CSV. Zaznaczając odpowiednie pola (checkbox) można wygenerować plik z wybranymi polami z bazy danych produktów. Jeżeli chcielibyśmy, aby plik wynikowy zawierał tylko nazwę produktu oraz cenę należy zaznaczyć opcję nazwa oraz cena. Po kliknięciu na przycisk wygeneruj plik zostanie utworzony plik CSV, który będzie można zapisać na dysku komputera lokalnego lub bezpośrednio otworzyć. Dodatkowo oprócz zaznaczenia pól, które mają zostać wygenerowane można zastosować filtr. Filtr umożliwia ograniczenie wynikowych danych do interesujących nas kategorii lub tylko określonego producenta. Dodatkowo można wybrać opcję eksportu produktów aktywnych lub nieaktywnych.
W części dolnej znajdują się szybkie linki. Szybkie linki to gotowe szablony plików CSV które generując pliki CSV z konkretnymi danymi. Szybkie linki umożliwiają utworzenie pliku i zapisanie do na dysku lokalnym komputerza (pobranie wygenerowanego pliku) lub zapis wygenerowanego pliku na serwerze. Jeżeli zostanie wybrana opcja zapisu pliku na serwerze to po utworzeniu zostanie on zapisany w katalogu /tmp w katalogu sklepu. W swojej nazwie taki plik będzie zawierał datę utworzenia. |

Wygenerowany plik otworzony w edytorze tekstowym jest bardzo nieczytelny. W części górnej (w pierwszym rzędzie) znajdują się nazwy kolumn, które odpowiadają nazwom poszczególnych pól w bazie danych sklepu. Poniżej znajdują się wyeksportowane dane. Każda kolumna jest oddzielona przecinkiem. Ponieważ nazwy (dane) w poszczególnych kolumnach mają różne długości dlatego edycja takich danych poprzez plik tekstowy jest bardzo trudna i plik przez to jest bardzo nieczytelny. Dlatego, aby można było w łatwy sposób edytować dane, które poźniej można zaimportować do sklepu należy skorzystać z arkusza kalkulacyjnego np. Excel lub Calc - OpenOffice (zalecamy).
Aby otworzyć plik w programie Calc należy wybrać z menu Plik opcje Otwórz. Następnie należy wybrać zapisany na dysku plik CSV. Po wybraniu pliku otworzy się okno w którym należy wybrać parametry pliku.

|
Jako zestaw znaków do importu należy ustawić Unicode UTF-8. W opcjach separatora należy zaznaczyć jako rozdzielony przecinek, a jako separator tekstu znak cudzysłowu ". Na dole w oknie widać jak będzie wyglądał zaimportowany plik i układ kolumn. Należy zwrócić uwagę na poprawne oznaczenie typów kolumn. Kolumny zawierajace tekst oznaczamy jako tekstowe, liczby jako liczbowe itd. W Przeciwnym wypadku arkusz kalkulacyjny może nam automatycznie pozamieniać niektóre wpisy na formuly ( np. zapis daty w formacie 04/03/2009 może przkształcić na wynik działania ). |
Po zaimportowaniu pliku wszystkie dane ukazują sie jako kolumny, a każda kolumna zawiera dane. Pierwszy wiersz zawiera nazwy kolumn które odpowiadają nazwom pól w bazie. Tego wiersza nie wolno kasować jeżeli dane po obróbce mają zostać zaimportowane do sklepu.

Bardzo ważną rzeczą w przypadku ponownego importu danych do sklepu jest struktura danych. Sklep rozpoznaje nowe produkty oraz aktualizuje istniejące po numerze katalogowym (kolumna v_products_model). Dlatego jeżeli dane będą po modyfikacjach ponownie wprowadzane do sklepu, kolumna z modelem / numerem katalogym musi znaleźć się w pliku CSV. Dodatkowo każdy numer katalogowy musi być unikalny - czyli nie mogą się powtarzać te same numery w różnych produktach. Numer katalogowy nie musi być w postaci cyfr czy liczb. Może to być dowolny ciąg znaków np połączenie cyfr i liter - ważne jedynie jest aby każdy numer był unikalny.
Opis poszczególnych kolumn i nazw:
| v_products_model |
numer katalogowy lub numer produktu (musi być unikalny) |
| v_products_name_1 |
nazwa produktu w języku o ID = 1 (domyślnie język polski) |
| v_products_description_1 |
opis produktu w języku o ID = 1 |
| v_products_url_1 |
adres URL do produktu (link zewnętrzny) |
| v_products_head_title_tag_1 |
nazwa produktu do SEO |
| v_products_head_desc_tag_1 |
opis produktu do SEO |
| v_products_head_keywords_tag_1 |
słowa kluczowe dotyczące produktu do SEO |
Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
|
| v_products_image |
ścieżka do zdjęcia produktu |
| v_products_price |
cena produktu (brutto)
UWAGA : cena musi byc zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi być kropka |
| v_products_retail_price |
cena katalogowa produktu (brutto)
UWAGA : cena musi być zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi byc kropka |
| v_products_quantity |
ilość produktów na stanie |
| v_products_weight |
waga produktu w kg
UWAGA : waga musi być zapisana w formacie XXX.XX - znakiem oddzielającym miejsca dziesiętne musi byc kropka |
| v_date_avail |
data dostępności |
| v_categories_image_1 |
ścieżka do zdjęcia głównej kategorii |
| v_categories_name_1_1 |
nazwa głównej kategorii w języku o ID = 1 (domyślnie język polski) |
Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, np v_categories_name_1_2, v_categories_name_1_3, v_categories_name_1_4. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
|
| v_categories_image_2 |
ścieżka do zdjęcia podkategorii |
| v_categories_name_2_1 |
nazwa podkategorii w języku o ID = 1 (domyślnie język polski) |
| v_manufacturers_name |
nazwa producenta |
| v_attribute_options_id_1 |
ID cechy produktu |
| v_attribute_options_name_1_1 |
nazwa cechy w języku o ID = 1 (domyślnie język polski) |
Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, np v_attribute_options_name_1_2, v_attribute_options_name_1_3, v_attribute_options_name_1_4. Poszczególne pola mają identyczne znaczenie jak w/w opisane lecz dotyczą innych języków. Jeżeli w sklepie nie ma innych języków oprócz polskiego nię będzie w pliku CSV opisanych pól. Standardowo w sklepie jako _2 - oznaczony jest język angielski, _3 - to język niemiecki, _4 - to język rosyjski. Uzupełniając te pola można wstawić opisy czy nazwy produktów w innych wersjach językowych.
|
| v_attribute_values_id_1_1 |
wartość cechy produktu |
| v_attribute_values_price_1_1 |
wartość kwota cechy |
| v_attribute_sort_order_1_1 |
numer do sortowania cechy |
| v_attribute_values_stock_1_1 |
ilość atrybutów |
Następnie znajdują sie pola o identycznych nazwach lecz z innymi oznaczeniami cyfrowymi gdzie zamiast 1 występuje 2,3,4 lub więcej, Są to kolejne cechy produktu oraz przypisane do niej wartości i nazwy, np: v_attribute_values_id_1_2, v_attribute_values_name_1_2_1, v_attribute_values_price_1_2 itd.
|
| v_tax_class_title |
stawka podatku VAT - VAT_22, VAT_7 lub VAT_0 |
| v_status |
określa czy produkt jest aktywny czy nie. Opcja Active - aktywny, Inactive - nieaktywny. |
| EOREOR |
zmienna kontrolna. Musi być w każdym pliku. |
Powyżej został opisany kompletny plik CSV. Jednakże w większości przypadków do aktualizacji danych w sklepie nie są niezbędne wszystkie pola. Praca na tak dużym pliku jest utrudniona i niewygodna. Dlatego aby dokonać ponowego importu danych do sklepu plik nie musi składać się ze wszystkich w/w kolumn. Np żeby dokonać aktualizacji cen w sklepie wystarczą 2 kolumny - v_products_model oraz v_products_price. Jeżeli dodatkowo chcemy zaktualizować stan magaznowy należy dodać kolumnę v_products_quantity. Przy imporcie sklep zaktualizuje tylko te pola w bazie które będą zgodne z plikiem, a pola których nie ma w pliku pozostaną w bazie w stanie niezmieniomym czyli np opis czy nazwa produktu.
|

|
Zmodyfikowany plik w Calc należy ponownie zapisać w formacie CSV. W tym celu wybrać opcję Zapisz jako w menu Plik. Podczas zapisu należy wybrać odpowiednie opcje eksportu pliku. Jako zestaw znaków należy ustawić Unicode UTF-8. W opcjach separatora pola należy zaznaczyć tabulator { Tab }, a jako separator tekstu znak cudzysłowu ". |
|
Import danych do sklepu z pliku CSV.
Przed importem danych należy utworzyć kopię bazy w menu Narzędzia / Archiwizacja bazy danych !!
|
| Import danych do sklepu poprzez plik CSV może odbyć się na 3 różne sposoby. Pierwsza opcja to wgranie i wczytanie pliku. Opcja ta umożliwia wybranie pliku CSV zapisanego na dysku komputera lokalnego. Plik taki jest pobierany z komputera i przetwarzany przez sklep. Dodatkowo można określić czy importowane mają być wszystkie produkty z pliku czy ma być tylko dodawanie nowych produktów (istniejące są wtedy pomijane) lub czy produkty mają być tylko zaktualizowane (pomijane są nowe produktu - o niestniejącym nr kat.). |
 |
|
Druga opcja to wgranie i podzielenie pliku. Ta opcja jest potrzebna w przypadku dużych plików CSV. Ponieważ wielkość importowanego pojedynczego pliku nie może być większa 60 kb dlatego większe pliki CSV należy podzielić. Wykorzystując tą opcję można zaimportować plik większy niż 60 kb a sklep automatycznie dokona jego podziału na mniejsze pliki. Ostatnia opcja to wczytanie pliku z katalogu tymczasowego. Opcja ta umożliwia import pliku CSV który znajduje się na serwerze w katalogu /tmp. Przy tej opcji również można wybrać czy mają być importowane wszystkie produktu, tylko nowe lub tylko aktualizacja produktów.
|
 |
Po wybraniu odpowiedniej formy można wykonać import danych. Po imporcie danych zostaną wyświetlone zaimportowane dane wraz z informacją który produkt został zaktualizowany a który jest nowym produktem w bazie. Produkty zaktualizowane mają napis zmieniony, a produkty nowe napis w kolorze zielonym New product!.
Jeżeli wszystkie produkty posiadają jeden z w/w komunikatów to oznacza to że wszystkie produkty zostały poprawnie zaimportowane. |
|
Podczas importu mogą jednak pojawić się problemy. Najczęstszym problemem jest brak pola z numerem katalogowym. Produkty bez numeru katalogowego nie zostaną zaimportowane a przy produkcie pojawi sie komunikat - No products_model field in record. This line was not imported, który informuje, że produkt nie został zaimportowany. Problem będzie także w przypadku nowych produktów jeżeli w pliku CSV nie będzie tabel z nazwami kategorii. Przy dodawaniu nowych produktów niezbędne są kolumny z kategoriami, ponieważ sklep musi przypisać produkt do odpowiednich kategorii. Jeżeli nie będzie takich kolumn to produkt do sklepu zostanie dodany, lecz nie będzie widoczny w żadnej kategorii. Dlatego przy aktualizacji produktów plik CSV może składać się z dowolnych kolumn + kolumna z numerem katalogowym. Jednak w przypadku importu nowych produktów zalecemy korzystanie ze struktury pliku calosc.csv.
Niniejszy artykuł został napisany przez właściciela witryny www.oscgold.com. (Jacek Krysiak Studio Komputerowe Kamelia-Net) Kopiowanie całości oraz fragmentów bez zgody autora jest zabronione. Artykuł jest chroniony polskim prawem autorskim. |
|
|