Przykłady i rekomendacje do wtyczki "DropShipping"
Przykłady i zalecenia dotyczące generowania plików XML do importu
Ta wtyczka umożliwia importowanie produktów i kategorii z różnych plików XML, z różnymi stylami reprezentacji danych. Ponieważ XML jest rozszerzalnym językiem znaczników, istnieje nieskończona liczba odmian struktur cenników.
Z tego powodu nie możemy zagwarantować, że wtyczka będzie w stanie zaimportować katalog z uwzględnieniem dokładnie tych pomysłów, które miał na myśli autor pliku (dotyczy to złożonych struktur XML). Jednak w 99% przypadków wtyczce udaje się poprawnie odczytać plik i wyodrębnić dane.
Podstawowe zasady tworzenia dokumentów XML
Każdy dokument XML musi zawierać opis wersji XML i typ dokumentu (DOCTYPE).
Cała zawartość dokumentu musi być zawarta w jednym znaczniku głównym.
Wszystkie znaki specjalne w tekście muszą być reprezentowane jako kody HTML.
Poniżej znajdują się różne przykłady plików XML do poprawnego importu katalogu produktów ze wszystkimi danymi i kategoryzacją, a także przykłady plików z produktami w trybie wyboru cech.
Import kategorii
Wtyczka obsługuje 3 sposoby odczytu struktury kategorii z plików XML:
Strumieniowy - jest to zalecany sposób wyświetlania kategorii w pliku XML, gdy powinny być one wymienione niezależnie od siebie.
Plik musi spełniać następujące wymagania:
Każda kategoria jest reprezentowana przez osobny tag
Wszystkie tagi kategorii są zlokalizowane niezależnie od siebie.
Każda kategoria w pliku musi zawierać minimum: ID zewnętrzne i nazwę.
Tagi podkategorii muszą zawierać ID zewnętrzne kategorii nadrzędnej.
Kategorie nadrzędne muszą być zawsze umieszczane przed kategoriami podrzędnymi.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
<categories>
<category id="123">Salon</category>
<category id="124" parentId="123">Meble pod telewizor</category>
<category id="125" parentId="124">Stoliki pod telewizor</category>
<category id="126">Kuchnia</category>
<category id="127" parentId="126">Lodówki</category>
<category id="128" parentId="127">Wbudowane</category>
</categories>
</feed>
Rekursywny - ta metoda zakłada, że kategorie w pliku XML są reprezentowane jako zagnieżdżona struktura tagów.
Plik musi być zgodny z następującymi zasadami:
Każda kategoria nadrzędna jest reprezentowana przez oddzielny tag
Każda kategoria musi mieć co najmniej: nazwę i ID zewnętrzne.
Podkategorie muszą być zagnieżdżone w kategorii głównej.
Nie jest konieczne określanie ID zewnętrznego kategorii nadrzędnej dla kategorii podrzędnych.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<price>
<categories>
<category id="1181" name="Laptopy, tablety">
<subcategory id="1191" name="Laptopy"/>
<subcategory id="1211" name="Akcesoria do laptopów">
<subcategory id="1213" name="Zasilacze"/>
<subcategory id="1471" name="Podstawki pod laptopa"/>
<subcategory id="1466" name="Myszy"/>
<subcategory id="1228" name="Huby USB"/>
</subcategory>
<subcategory id="1192" name="Tablety"/>
<subcategory id="7981" name="Akcesoria do tabletów">
<subcategory id="7982" name="Zasilacze"/>
<subcategory id="8136" name="Podstawka pod tablet"/>
</subcategory>
<subcategory id="1194" name="Czytniki e-booków"/>
<subcategory id="1107" name="Konsole do gier"/>
</category>
</categories>
</price>
Zwykły - kategorie są określone w tagu produktu, jako nazwy.
Plik musi być zgodny z następującymi zasadami:
Kategorie są określone w głównym tagu produktu
Tag kategorii musi zawierać tylko nazwę
Kategorie są określane jedna po drugiej zgodnie z poziomem zagnieżdżenia.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product prodID="1">
<categories>
<category1>Meble</category1>
<category2>Kuchnia</category2>
<category3>Kuchenki</category3>
</categories>
<name>Koszulka</name>
</product>
</products>
Należy zwrócić uwagę: główne tagi produktów i kategorii nie mają ograniczeń co do nazwy, głębokości zagnieżdżenia lub ilości i nie muszą występować jeden po drugim. Jeśli w jednym pliku kategorie lub produkty są rozmieszczone za pomocą różnych tagów (na przykład: dla kategorii tag: category; dla podkategorii tag: subcategory), można je załadować bez problemów, ustawiając każdy z tagów typu "Główny -> Kategoria" w menedżerze zgodności.
Import produktów
Wtyczka jest w stanie importować produkty z dowolnych tagów w pliku. Produkty mogą być ładowane zarówno w trybie zwykłym, jak i w trybie wyboru cech, w zależności od stylu tworzenia pliku XML.
Aby zaimportować produkty, plik musi spełniać następujące wymagania:
- Każdy produkt musi być określony w osobnym tagu.
- Wszystkie dane muszą być określone w głównym tagu produktu.
- Wszystkie dane produktu muszą być określone w osobnych tagach i/lub atrybutach.
- Każdy produkt musi mieć ID zewnętrzne.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product id="1">
<price>934</price>
<sku>45554</sku>
<image>https://site.com/image.jpg</image>
<quantity>15</quantity>
<description>test</description>
<name>Koszulka</name>
</product>
<product id="2">
<price>1234</price>
<sku>45556</sku>
<image>https://site.com/image.jpg</image>
<quantity>8</quantity>
<description>test</description>
<name>Koszulka</name>
</product>
<product id="3">
<price>1532</price>
<sku>45555</sku>
<image>https://site.com/image.jpg</image>
<quantity>3</quantity>
<description>test</description>
<name>Koszulka</name>
</product>
</products>
Istnieją 2 opcje importowania produktów w trybie wyboru cech:
Jeden tag = jeden wariant zakupu - metoda ta zakłada, że każdy wariant zakupu zostanie opisany w pliku w osobnym tagu (jako osobny produkt). Aby te warianty zakupu mogły zostać połączone w jeden produkt, muszą mieć prawie taką samą strukturę, z pewnymi różnicami:
- Wszystkie warianty jednego produktu powinny mieć wspólny parametr (ID grupy)
- Każdy wariant zakupu musi zawierać informacje o cechach, z których należy utworzyć artykuł.
- Wartości cech, na podstawie których zostaną utworzone artykuły, muszą być różne dla każdego wariantu zakupu.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product id="1" group_id="901">
<price>934</price>
<sku>45554</sku>
<image>https://site.com/image.jpg</image>
<quantity>15</quantity>
<description>test</description>
<name>Koszulka</name>
<size>S</size>
</product>
<product id="2" group_id="901">
<price>1234</price>
<sku>45556</sku>
<image>https://site.com/image.jpg</image>
<quantity>8</quantity>
<description>test</description>
<name>Koszulka</name>
<size>M</size>
</product>
<product id="3" group_id="901">
<price>1532</price>
<sku>45555</sku>
<image>https://site.com/image.jpg</image>
<quantity>3</quantity>
<description>test</description>
<name>Koszulka</name>
<size>L</size>
</product>
</products>
Jeden tag = jeden produkt (z wieloma wariantami zakupu) - ta metoda jest prostsza i bardziej ekonomiczna pod względem rozmiaru pliku, ale ma pewną wadę: obecnie cena i dostępność wszystkich wariantów może być taka sama.
W przypadku tej metody należy przestrzegać następujących zasad:
- Każdy produkt jest reprezentowany przez oddzielny tag
- Wszystkie opcje zakupu są opisane w osobnych tagach w ramach każdego produktu.
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product id="100">
<price>1934</price>
<sku>45455</sku>
<image>https://site.com/image.jpg</image>
<quantity>25</quantity>
<description>Pełny opis produktu</description>
<short>Krótki opis produktu</short>
<name>Czerwona koszulka</name>
<sizes>
<size>S</size>
<size>M</size>
<size>L</size>
<size>XL</size>
</sizes>
<color>Czerwony</color>
</product>
</products>