Aby rozpocząć konfigurację pobierania wartości z pliku hurtowni:

  • Kliknij na stronie głównej „Hurtownie” i wybierz „Zarządzanie plikami”.

Następnie:

  • Dla plików CSV – Schemat parametrów

  • Dla plików XML Produkty (główny) – Schemat parametrów

  • Dla plików XML Produkty (główny) Warianty – Warianty parametrów

  • Dla plików XML Pliki z danym dodatkowymi – Atrybuty pliku

PLIK CSV

Przechodzimy do konfiguracji poprzez kliknięcie w „Schemat parametrów”, następnie „Dodaj nowy schemat parametru”,

  • Wybierz z listy nazwę systemową parametru np. *Nazwa*, lub utworzoną przez Ciebie np. Kolor.

  • Wskaż kolumnę z pliku CSV w której znajdują się wartości parametru, którą podejrzysz w CALC,

  • Separator dla pojedynczego zdjęcia – dotyczy zdjęć w zależności, czy są oddzielone enterami (nowa linia), czy po przecinku.

  • Priorytet – jeżeli utworzysz kilka tych samych parametrów np. hurtownia udostępnia zdjęcia każde w osobnej kolumnie, wówczas możesz ustawić kolejność w jakiej system je połączy.

Dodatkowe informacje:

  • Efekty na przykładzie pierwszych produktów podgląda się w Hurtownie / Zarządzanie plikami / Podgląd wyników.

  • Po konfiguracji należy wygenerować produkty do bazy aplikacji na stronie głównej „Hurtownie” / Wygeneruj produkty do bazy danych.

  • Lista wszystkich wygenerowanych produktów znajduje się na stronie głównej „Hurtownie” / Produkty w bazie danych.

PLIK XML Produkty (główny)

Przechodzimy do konfiguracji poprzez kliknięcie w „Schemat parametrów”.

  • Wybierz parametr – wybór nazwy parametru.

Typ parametru XML:

  • Wartość między tagami

  • Wartość między tagami oddzielone separatorem

  • Wartość jako atrybut w nagłówku produktu

  • Wartość jako atrybut danego tagu

  • Przetworzona wartość między tagami

  • Wartość jako atrybut danego tagu z tagiem nadrzędnym – zaawansowana funkcja na trudny plik hurtowni (opis w dalszej części)

  • Wartość pobierana za pomocą konektora w pliku dodatkowym – gdy np. zdjęcia znajdują się w pliku dodatkowym, a w obu plikach ich wspólnym łącznikiem II stopnia będzie np. kod produktu.

  • Wartość pobierana za pomocą wartości innego parametru z pliku dodatkowego – (opis w dalszej części)


KONFIGURACJA I OMÓWIENIE POSZCZEGÓLNYCH PARAMETRÓW XML


1) Wartość między tagami – Podstawowa, łatwa i najczęściej wykorzystywana opcja do wskazania gdzie zaczyna się i gdzie kończy pobierana wartość np. od <name> do </name> .

  • (checkbox) Nie zatrzymuj się na pierwszym dopasowaniu, tylko wyszukaj wszystkie (dotyczy tylko dodatkowych/dodawanych parametrów)

  • Tag początkowy

  • Tag końcowy

  • Nadrzędny tag początkowy

  • Nadrzędny tag końcowy

  • Priorytet

  • (checkbox) Jest to tylko ID, a dokładna wartość znajduje się w innym pliku.

  • (checkbox) Nie zatrzymuj się na pierwszym dopasowaniu dotyczy sytuacji, gdy w obrębie jednego produktu podana jest wartość np. kolor w kilku różnych miejscach i dotyczy danego produktu, wówczas po zaznaczeniu checkbox’a system pobierze wszystkie kolory, które później na liście będą oddzielone przecinkiem.

  • Jeżeli chcemy wybrać „kolor”, podajemy tag początkowy <color> i tag końcowy </color>.

  • Gdyby kolor był podany w postaci numer ID, np. <color>1</color> a jego wartość będzie w dodatkowym pliku, wówczas należy zaznaczyć (checkbox) „Jest to tylko ID, a dokładna wartość znajduje się w innym pliku” i na podstawie pobranego ID należy pobrać wartość koloru z drugiego pliku po odpowiedniej konfiguracji w pliku dodatkowym.

  • Jeżeli chcemy pobrać zdjęcia, podajemy tag początkowy <picture> i tag końcowy </picture>, oraz dodatkowo nadrzędny tag początkowy <pictures> oraz końcowy </pictures>.

  • Priotytet ustawiamy, jeżeli pobieramy zdjęcia z różnych części produktu np. pomiędzy różnymi znacznikami, wówczas system połączy je nam w jedno, ale według ustawionej kolejności.

Przykładowe dane pliku Produkty (główny) z wariantami (typu z plikiem dodatkowym):

<?xml version=”1.0″ encoding=”utf-8„?> informacja o kodowaniu

<products> początek wszystkich produktów, którego końcem będzie </products> na końcu pliku.

<product> Tag zaczynający produkt (do przepisania w konfiguracji)początek produktu głównego, którego końcem będzie </product>

<model>jakaś nazwa modelu produktu</model> to jest parametr do pobrania.

<color>beżowy</color> to jest parametr do pobrania.

<gender>Damskie</gender> to jest parametr do pobrania.

<category>Spodnie</category> to jest parametr związany z kategorią.

<category_name>Dresowe</category_name> to jest parametr związany z kategorią.

<producer>jakaś nazwa producenta</producer> to jest parametr do pobrania.

<suggested_price_netto_pln>jakaś cena sugerowana</suggested_price_netto_pln> parametr cena.

<wholesale_price_netto_pln>jakaś cena hurtowa</wholesale_price_netto_pln> parametr cena hurt.

<vat>stawka VAT</vat> to jest parametr do pobrania.

<display_name>nazwa</display_name> to jest parametr do pobrania.

<description>krótki opis</description> to jest parametr związany z krótkim opisem.

<description_long><![CDATA[<p><strong>jakiś długi opis</strong></p>

]]></description_long> to jest parametr związany z długim opisem.

<variants> Nadrzędny tag zaczynający dla wariantów (początek zbioru wariantów)

<variant code=”1234567891234″ size=”41″></variant> Tag zaczynający wariant (początek wariantu) <variant i kończący </variant>

<variant code=”1234567891235″ size=”36″></variant> produkt ze swoimi właściwościami.

<variant code=”1234567891236″ size=”37″></variant> produkt ze swoimi właściwościami.

<variant code=”1234567891237″ size=”38″></variant> produkt ze swoimi właściwościami.

<variant code=”1234567891238″ size=”39″></variant> produkt ze swoimi właściwościami.

<variant code=”1234567891239″ size=”40″></variant> produkt ze swoimi właściwościami.

</variants> Nadrzędny tag kończący dla wariantów (koniec zbioru wariantów).

<pictures> początek zbioru zdjęć.

<picture>http://nazwa.hurtowni.zdjęcie_1.jpg</picture> zdjęcie.

<picture>http://nazwa.hurtowni.zdjęcie_2.jpg</picture> zdjęcie.

<picture>http://nazwa.hurtowni.zdjęcie_3.jpg</picture> zdjęcie.

</pictures> koniec zbioru zdjęć.

</product> koniec produktu.

<product> następny produkt.

idt.


2) Wartość między tagami oddzielone separatorem – dodatkowa opcja dla wielu zdjęć, które są umieszczone jako jeden parametr hurtowni, ale linki są oddzielone np. spacją, dzięki której system pobierze każdy link do zdjęcia np.

<pictures>

<picture>http://nazwa.hurtowni.zdjęcie_1.jpg http://nazwa.hurtowni.zdjęcie_2.jpg http://nazwa.hurtowni.zdjęcie_3.jpg</picture>

</pictures>

System pobierze zdjęcia w tej postaci:

http://nazwa.hurtowni.zdjęcie_1.jpg

http://nazwa.hurtowni.zdjęcie_2.jpg

http://nazwa.hurtowni.zdjęcie_3.jpg

Podczas konfiguracji należy wybrać z listy co jest separatorem, czy spacja, przecinek itd.


3) Wartość jako atrybut w nagłówku produktu – dodatkowa opcja dla hurtowni, która podaje wiele parametrów produktu w jednym nagłówku np.

Początek nagłówka <o id=”5454_7851″ numer_kat=”35687″ nazwa_cechy_1=”Kolor” wartosc_cechy_1=”czarny” nazwa_cechy_2=”Rozmiar EUR” wartosc_cechy_2=”45 1/3″ url=”http://nazwa.hurtowni.zdjęcie_1.jpg” price=”429.99″ avail=”1″ set=”0″ stock=”17″> Koniec nagłówka

wówczas wpisując w ustawienia „Kolor” (bez cudzysłowu) pobierzemy wartość czarny, a gdy wpiszemy „Rozmiar EUR”, pobierzemy wartość 45 1/3 .

Szczególnie przydatne, gdy pomiędzy „Kolor” a „czarny”, „wartosc_cechy_1=” może być różne, (np. wartosc_cechy_2=, wartosc_cechy_3= ), dzięki temu system pominie ten brak spójności i pobierze od wartość znajdującą się za kolejny cudzysłowem („wartość”).


4) Wartość jako atrybut danego tagu – do wykorzystania w sytuacji, gdy wartość, którą chcemy pobrać zawiera się pomiędzy tagiem początkowym i końcowym, ale pomiędzy coś zakłóca nam spójność, wówczas system pomija tą niezgodność np. <producer id=”156485975″ name=”jakaś_nazwa_producenta”/>, wówczas id=”156485975″ zostanie pominięte, a wpisując ” name „, system pobierze ” jakaś_nazwa_producenta „. Trochę podobna zasada jak opcji 3.

Do tego konkretnego fragmentu z pliku XML należy będzie wpisać tag początkowy: <producer i tag końcowy: /> oraz Nazwa atrybutu: name .


5) Przetworzona wartość między tagami – Kreatywna i bardzo podobna funkcja do (1), ale z możliwością ograniczenia wyszukiwania w konkretnym fragmencie całego produktu np. można ograniczyć wyszukiwanie w samym opisie produktu w HTML wskazując dodatkowo od-do którego taga ma pobrać wartość (np. kolor z opisu HTML).

  • Tag początkowy – początek wyodrębnienia fragmentu do poszukiwań.

  • Tag końcowy – koniec wyodrębnionego fragmentu do poszukiwań.

  • Pobierz wartość od – tag po którym ma pobrać wartość.

  • Pobierz wartość do – tag do którego ma pobrać wartość.

6) Wartość jako atrybut danego tagu z tagiem nadrzędnym – niektóre hurtownie podają parametry w zbiorze, wydawałoby się w dość trudny sposób, lecz jest to proste do konfiguracji za pomocą tej metody np. aby pobrać kolor na podstawie poniższego fragmentu z pliku XML konfigurujemy ten sposób:

  • Tag początkowy: <value

  • Tag końcowy: />

  • Nazwa atrybutu: name

  • Nadrzędny tag początkowy: <parameter

  • Nadrzędny tag końcowy: </parameter>

  • Atrybut tagu nadrzędnego: name=”Kolor”

  • Priorytet: 1

<parameters> Początek zbioru wszystkich parametrów.

(Początek parametru)

<parameter type=”parameter” id=”105″ priority=”0″ name=”Gwarancja”>

<value id=”106″ priority=”0″ name=”Tak”/>

</parameter> (Koniec parametru.)

<parameter type=”parameter” id=”274″ priority=”1″ name=”Kolor„>

<value id=”407″ priority=”0″ name=”Czarny/>

</parameter>

<parameter type=”parameter” id=”86″ priority=”2″ name=”Przeznaczenie”>

<value id=”104″ priority=”0″ name=”Hala”/>

</parameter>

<parameter xmlns:iaiext=”http://tekst.phtml” type=”parameter” id=”966″ priority=”4″ iaiext:context_id=”CONTEXT_STATE” name=”Stan”>

<value id=”967″ priority=”0″ iaiext:context_id=”CONTEXT_STATE_NEW” name=”Nowy”/>

</parameter>

<parameter xmlns:iaiext=”http://extensions.phtml” type=”parameter” id=”56″ priority=”5″ iaiext:context_id=”CONTEXT_SEX” name=”Rodzaj”>

<value id=”415″ priority=”1″ name=”Damski”/>

<value id=”453″ priority=”2″ name=”Męski”/>

</parameter>

</parameters> Koniec zbioru wszystkich parametrów.

7) Wartość pobierana za pomocą konektora w pliku dodatkowym – gdy np. faktyczny stan magazynowy znajduje się wyłącznie w pliku dodatkowym, ale w pliku głównym nie jest podany jako ID, wówczas musimy sprawdzić w obu plikach co mają wspólnego, czyli co będzie wspólnym łącznikiem II stopnia. Na poniższym przykładzie będzie to kod produktu:


Plik główny:

<sizes>

<size code_producer=”592659540264″ code=”2694-uniw” weight=”0″>

</size>


Plik dodatkowy:

<sizes>

<size id=”0″ code_producer=”592659540264″ code=”2694-uniw” weight=”0″ >

<stock id=”1″ quantity=”27915″/>

</size>


W tej sytuacji na początku tworzymy parametr np. metodą numer 1 (od) code=” (do) „, który nazwiemy np. „kod produktu”, po czym możemy wybrać go z listy w konfiguracji 7 jako „Parametr nadrzędny II stopnia”, a w pliku dodatkowym szczegółowo kończymy konfigurację, co opiszę w konfiguracji piku dodatkowego.

Na podstawie fragmentu z pliku XML można również zauważyć, że wspólnym konektorem w obu plikach jest code_producer=”592659540264″, lecz akurat przeglądając plik XML zauważam z mojej strony, że w innych produktach ” code_producer” nie jest uzupełniony przez hurtownię, więc nie można było zastosować tego jako konektor w przeciwieństwie do „code”, który akurat w tej hurtowni jest kodem produktu, więc mam pewność, że będzie on konektorem dla wszystkich produktów w obu plikach. Warto zwracać na to uwagę przeglądając plik XML, aby zastosować coś wspólnego, co występuje we wszystkich produktach, a często jest to kod produktu, jeżeli nie ma ID, ponieważ hurtownia też musi oznaczyć każdy swój produkt w jakiś unikatowy sposób.


8) Wartość pobierana za pomocą wartości innego parametru z pliku dodatkowego

Najbardziej skomplikowana metoda na szczególne sytuacje trudnych plików, które standardowo nie występują w hurtowniach, ale mogą się pojawić. Problem polega na tym, że gdy kategoria jest podana w pliku głównym jako ID, a jej zrozumiała wartość w pliku dodatkowym (lub tym samym pliku, lecz poza produktem, gdzieś w osobnym zbiorze kategorii), a do tego informacje o kategorii mają dodatkowo przekierowanie do wyższej kategorii w innym miejscu, którą też trzeba pobrać, a po pobraniu na podstawie wprowadzonych już informacji trzeba pobrać jeszcze wyższą kategorię itd.

Aplikacja radzi sobie z takim trudnym przypadkiem bez trudności, ale będzie trzeba stworzyć kilka parametrów i ustawień. Na szczęście wykonuje się to jednorazowo przez całą współpracę z hurtownią, dlatego warto poświęcić chwilę.

Jeżeli zbiór kategorii jest w tym samym pliku głównym, ale gdzieś poza produktem, wówczas należy w ustawieniach hurtowni ustawić, że jest plik dodatkowy, a przy dodawaniu pliku dodatkowego wpisać ten sam link, co do pliku głównego.


Plik główny:

<PRODUCTS>

<PRODUCT product_id=”48131″>

<MODEL>Skarpety Okolicznościowe </MODEL>

<NET_PRICE>10,30</NET_PRICE>

<NET_PRICE_PROMO>0,00</NET_PRICE_PROMO>

<RECOMMENDED_PRICE>20,90</RECOMMENDED_PRICE>

<RECOMMENDED_PRICE_PROMO>0,00</RECOMMENDED_PRICE_PROMO>

<CATEGORIES>

<CATEGORY>1303</CATEGORY>

<CATEGORY>61</CATEGORY>

<CATEGORY>926</CATEGORY>

</CATEGORIES>

<PRODUCER>Jakaś nazwa producenta</PRODUCER>


Plik dodatkowy:

<CATEGORIES>

…………………………………….(skasowany ciąg innych kategorii)

<CATEGORY category_id=”926″>Bielizna</CATEGORY>

…………………………………….

<CATEGORY category_id=”61″ parent_id=”926″>Piękne nogi</CATEGORY>

…………………………………….

<CATEGORY category_id=”1303″ parent_id=”61″>Skarpetki</CATEGORY>

…………………………………….


W pliku głównym można zauważyć, że produkt posiada zbiór kategorii <CATEGORIES> , a w nim

są podane ID trzech kategorii 1303, 61 i 926. Nic to nam nie mówi.

W pliku dodatkowym można zauważyć, że do ID są podane zrozumiałe nazwy tych kategorii, Skarpetki (do 1303), Piękne nogi (do 61), oraz Bielizna (do 926), z czego Bielizna to kategoria główna, którą nazwiemy rodzicem innych podkategorii.

W pliku dodatkowym można zauważyć, że każda z podkategorii posiada informację, kto jest jego rodzicem (parent_id=”) i tak po kolei, aż do najstarszego rodzica (aż do kategorii głównej).

W pliku głównym nie ma możliwości pobrania ID do każdej kategorii z osobna, ponieważ tagi poza różnymi ID pomiędzy nimi nie mają nić unikatowego, którym mogłoby być <CATEGORY1, 2 czy 3.

W tej sytuacji tworzymy zwykły, nowy parametr w aplikacji z typem parametru „wartość” (np. Kategoria 1) , aby pobrać tą piewszą, ale najniższą kategorię <CATEGORY>1303</CATEGORY> , i wskażemy, żeby system na jej podstawie szukał dalej jej rodziców, aby pobrał pozostałe.


Następnie w schematach pliku głównego konfigurujemy parametr „Kategoria 1”:

  • Typ parametru XML – Wartość między tagami

  • Tag początkowy – <CATEGORY>

  • Tag końcowy – </CATEGORY>

  • (checkbox) Jest to tylko ID, a dokładna wartość znajduje się w innym pliku – zaznaczyć.

Przechodzimy do Atrybuty pliku pliku dodatkowego i kończymy konfigurację na podstawie informacji z pliku dodatkowego, aby zastąpić ID z pliku głównego wartością z pliku dodatkowego:

  • Klikamy w ikonkę „Dodaj nowy atrybut pliku”

  • Wybieramy z listy „Kategoria 1”

  • Rodzaj atrybutu – Prosty między tagami (id)

  • Tag początkowy produktu – <CATEGORY

  • Tag końcowy produktu – </CATEGORY>

  • Nadrzędny tag początkowy (jeśli wystepuje) – <CATEGORIES>

  • Nadrzędny tag końcowy (jeśli wystepuje) – </CATEGORIES>

  • Tag początkowy ID produktu – category_id=”

  • Tag końcowy ID produktu – „

  • Tag początkowy wartości produktu – >

  • Tag końcowy wartości produktu – <

Wynik z wartością „Skarpetki” można podejrzeć w podglądzie pierwszych produktów w pliku hurtowni.

Teraz należy pobrać rodzica tej kategorii.

Tworzymy znów nasz nowy, zwykły parametr z typem parametru „wartość” który nazwiemy np. „Kategoria ID 2″, aby tym razem pobrać z pliku dodatkowego ID rodzica (parent_id=”).


Następnie w schematach pliku głównego konfigurujemy parametr „Kategoria ID 2”:

  • Typ parametru XML – Wartość między tagami

  • Tag początkowy – <CATEGORY>

  • Tag końcowy – </CATEGORY>

  • (checkbox) Jest to tylko ID, a dokładna wartość znajduje się w innym pliku – zaznaczyć.

Przechodzimy do Atrybuty pliku pliku dodatkowego i kończymy konfigurację na podstawie informacji z pliku dodatkowego, aby zastąpić ID z pliku głównego wartością z pliku dodatkowego:

  • Klikamy w ikonkę „Dodaj nowy atrybut pliku”

  • Wybieramy z listy „Kategoria 1”

  • Rodzaj atrybutu – Prosty między tagami (id)

  • Tag początkowy produktu – <CATEGORY

  • Tag końcowy produktu – </CATEGORY>

  • Nadrzędny tag początkowy (jeśli wystepuje) – <CATEGORIES>

  • Nadrzędny tag końcowy (jeśli wystepuje) – </CATEGORIES>

  • Tag początkowy ID produktu – category_id=”

  • Tag końcowy ID produktu – „

  • Tag początkowy wartości produktuparent_id=”

  • Tag końcowy wartości produktu

Znów sprawdzamy w podglądzie w plikach hurtowni, gdzie widać, że pobrało się ID rodzica 61.

Świetnie, teraz dzięki ID kategorii i ID rodzica można pobrać pobrać kolejne, wyższe kategorie.

Tworzymy znów nasz nowy, zwykły parametr z typem parametru „wartość” który nazwiemy np. „Kategoria 2”, aby tym razem pobrać nazwę kategorii 2.


Następnie w schematach pliku głównego konfigurujemy parametr „Kategoria 2”:

  • Typ parametru XML – Wartość pobierana za pomocą wartości innego parametru z pliku dodatkowego

  • Parametr ID opisujący wartość w pliku dodatkowym – Kategoria ID 2

  • Parametr na podstawie którego pobrana zostanie wartość w pliku dodatkowym – Kategoria 1

Podglądamy wyniki, że w Kategoria 2, ID zamieniło się nam w Piękne nogi.

Świetnie, została nam jeszcze jedna kategoria do pobrania, ale teraz musimy zrobić to inaczej.

Tworzymy znów nasz nowy, zwykły parametr z typem parametru „wartość” który nazwiemy np. „Kategoria ID 3”, aby tym razem pobrać ID kategorii 3.


Następnie w schematach pliku głównego konfigurujemy parametr „Kategoria ID 3”:

  • Typ parametru XML – Wartość pobierana za pomocą wartości innego parametru z pliku dodatkowego

  • Parametr ID opisujący wartość w pliku dodatkowym – Kategoria ID 2

  • Parametr na podstawie którego pobrana zostanie wartość w pliku dodatkowymKategoria ID 2

Podglądamy wyniki, że w Kategoria ID 3 pobrało się ID 926.

Teraz należy zamienić ID w nazwę z pliku dodatkowego.

Tworzymy znów nasz nowy, zwykły parametr z typem parametru „wartość” który nazwiemy np. „Kategoria 3”, aby tym razem pobrać nazwę kategorii 3.


Następnie w schematach pliku głównego konfigurujemy parametr „Kategoria 3”:

  • Typ parametru XML – Wartość pobierana za pomocą wartości innego parametru z pliku dodatkowego

  • Parametr ID opisujący wartość w pliku dodatkowym – Kategoria ID 3

  • Parametr na podstawie którego pobrana zostanie wartość w pliku dodatkowymKategoria 1

Podglądamy wyniki, że w Kategoria 3 powstała wartość Bielizna.

Świetnie. Teraz pozostało nam połączyć trzy pobrane kategorie do jednej kategorii hurtowni:

  • Kategoria 1 – Skarpetki

  • Kategoria 2 – Piękne nogi

  • Kategoria 3 – Bielizna.

Przechodzimy do tworzenia parametrów:

  • Edytujemy istniejący *Kategoria*, z typem parametru „Kategoria”,

  • Klikamy w górną ikonkę „Zmień typ na parametr łączony”

  • Dodaj parametr – Kategoria 3

  • Własny stały tekst – ” / „

  • Dodaj parametr – Kategoria 2

  • Dodaj stały tekst – ” / „

  • Dodaj parametr – Kategoria 1

Zapisujemy, a nasza kategoria będzie wyglądać tak: Bielizna / Piękne nogi / Skarpetki

Wynik możemy podejrzeć w podglądzie.

Trochę zabawy i skupienia, ale niektóre hurtownie mogą być tego warte.

Na szczęście nawet w takim pliku hurtowni pozostałe parametry powinny być do pobrania za pozostałymi, prostszymi metodami.



PLIK XML Produkty (główny) zawierający warianty.

  • Przechodzimy do konfiguracji wariantów poprzez kliknięcie w „Warianty parametrów”, wówczas system będzie szukał wartości wyłącznie w wariantach, dzięki czemu pominie pozostałą część całego produktu i ułatwi konfigurację.

  • Zasada jest taka jak w konfiguracji schematu parametrów pliku XML produktu głównego, lecz ograniczamy się do poszukiwań tagów i wartości w pliku produktowym hurtowni wyłącznie w obrębie wariantów.

PLIK XML Plik z danymi dodatkowymi.

Plik dodatkowy hurtowni do nic innego jak pozostałe informacje dla produktu znajdującego się w pliku głównym i może to być stan magazynowy, ceny, lub właściwe nazwy jak kolor, rozmiar, gdy w pliku głównym przedstawione są tylko jako numer ID, lub inna wspólna wartość na podstawie której pobierzemy zrozumiałe wartości.

Aby przejść do konfiguracji pliku dodatkowego przechodzimy w „Atrybuty pliku”.


Do wyboru mamy rodzaj atrybutu:

  • 1) Prosty między tagami (id)
  • 2) Prosty przetworzona wartość między tagami (id)

  • 3) Złożony (konektor)

  • 4) Złożony przetworzona wartość między tagami (konektor)

Aby pobrać dane z pliku dodatkowego będziemy potrzebować czegoś wspólnego w obu plikach i najczęściej jest to wartość w pliku głównym podana w postaci samego numeru ID, np. zamiast nazwy koloru jest podane 123, a w pliku dodatkowym przy tym samym numerze ID 123 jest podana wartość np. czarny.

W trudniejszych hurtowniach może zdarzyć się tak, że musimy samemu utworzyć konektor w pliku główny, czyli coś co będzie identyczne w obu plikach (np. kod produktu) na podstawie czego pokażemy, że wartość w pliku dodatkowym należy do produktu z pliku głównego, dzięki czemu pobierzemy odpowiednią wartość do konkretnego parametru produktu.



Rodzaj atrybutu 1) Prosty między tagami (id)
  • Tag początkowy produktu

  • Tag końcowy produktu

  • Nadrzędny tag początkowy (jeśli występuje)

  • Nadrzędny tag końcowy (jeśli występuje)

  • Tag początkowy ID produktu

  • Tag końcowy ID produktu

  • Tag początkowy wartości produktu

  • Tag końcowy wartości produktu

Jeżeli w schematach lub wariantach pliku głównego parametr „Rozmiar” występuje wyłącznie w formie numeru ID, to w schematach pliku głównego utworzyliśmy parametr „Rozmiar” z tagiem początkowym np. <size id=” i końcowym ” , wraz z zaznaczeniem checkbox’a „Jest to tylko ID, a dokładna wartość znajduje się w innym pliku”. Dzięki temu system pobrał nam same ID rozmiaru, a dalsza konfiguracja pliku dodatkowego zamieni numer ID na zrozumiałą wartość.

Teraz w konfiguracji pliku dodatkowego należy wybrać z listy wcześniej utworzony parametr „Rozmiar”, poszukać w pliku dodatkowym pomiędzy jakimi znacznikami znajduje się to samo ID, co w pliku głównym i uzupełnić Tag początkowy ID produktu: np. id=” i Tag końcowy ID produktu: ” .

Tym sposobem uzyskaliśmy połączenie pomiędzy plikami.

Teraz szukamy w pliku dodatkowym, gdzie rozpoczyna się i kończy zbiór, w którym znajduje się to ID, np. może być to <size id i </size>, więc uzupełniamy:

  • Tag początkowy produktu: <size id

  • oraz Tag końcowy produktu: </size>.

Ostatnia czynność, to pobranie już samej wartości rozmiaru i w tym konkretnym przykładzie znajduje się on pomiędzy <name xml:lang=”pol”> , a </name>.

<size id=”136 name=”US 4.5/ EUR 35.0/ CM 21.5″>

<name xml:lang=”bel”>EUR 35</name>

<name xml:lang=”eng”></name>

<name xml:lang=”ger”></name>

<name xml:lang=”pol”>EUR 35</name>

<name xml:lang=”rus”>US 4.5/ EUR 35.0/ CM 21.5</name>

</size>

Oczywiście to tylko przykład, ponieważ w plikach dodatkowych może być różnie, często prościej.

Pobrana wartość będzie wyglądać tak: EUR 35 , jednak gdy chcemy mieć samo 35, korzystamy ze słownikowania zamieniając fragment EUR na (brak treści), wówczas na liście zostanie samo 35.



Rodzaj atrybutu 2) Prosty przetworzona wartość między tagami (id)

Konfiguracja polega na tym samym, co w „1) Prosty między tagami (id)”, ale możemy zawęzić obszar poszukiwań w pliku dodatkowym poprzez dodatkowe ustawienie:

  • Tag początkowy wartości produktu – znacznik od którego miejsca zawężamy obszar.

  • Tag końcowy wartości produktu – znacznik do którego miejsca chcemy szukać.

  • Pobierz wartość od – znacznik po którym miejscu pobieramy wartość.

  • Pobierz wartość do – znacznik do którego miejsca ma zostać pobrana wartość.

Ta metoda jest bardzo korzystna, gdy chcemy pobrać jakąś wartość np. skład materiału z treści opisu produktu w pliku dodatkowym, gdy hurtownia nie podaje tej informacji w parametrach produktu. Do kreatywnego wykorzystania na wiele różnych sytuacji, aby pobrać jak najwięcej informacji o produkcie w celu późniejszego, jeszcze lepszego uzupełnienia parametrów allegro w szablonach parametrów allegro.



Rodzaj atrybutu 3) Złożony (konektor)

Konektor – czyli wspólna wartość w obu plikach na podstawie której połączymy ze sobą produkt z obu plików. Może być to unikatowy kod produktu głównego, lub tych z wariantów.

Może być taka sytuacja, że hurtownia udostępnia plik główny z produktami i plik dodatkowy, często nazwany jako „light”, czyli taki lekki plik z mniejszą ilością informacji do szybkiego pobrania. W pliku głównym co prawda może podawać ceny i stan magazynowy, lecz aktualizuje te dane wyłącznie w pliku „light”. W tej sytuacji porównujemy oba pliki, aby odszukać wspólną wartość produktu, którą zrobimy łącznikiem (np. unikalny kod produktu), aby pobrać z pliku dodatkowego aktualne ceny.

Do tego hurtownia może posiadać warianty do części produktów np. dzieląc produkt główny na rozmiary, a w tych wariantach podawać odpowiednią cenę i stan magazynowy, podczas gdy inne produkty główne nie posiadają rozmiarów, więc nie będą podzielone na warianty, a stan magazynowy i ceny będą zawierały się w bezpośrednio w produkcie głównym pliku dodatkowego.

Należy wówczas pobrać ceny i z produktu głównego, i z wariantów, ponieważ w razie gdyby nie było wartości w wariancie, wówczas będzie obowiązywała cena z produktu głównego, a gdy cena będzie w wariancie, wówczas zastąpi cenę z produktu głównego.

Na szczęście jedna konfiguracja obejmuje wszystkie produkty niemające wariantów, a druga warianty, dzięki czemu nie musimy tego robić osobno dla każdego produktu, lecz konfiguracja pierwszych produktów obejmie wszystkie.

Poniżej przykładowy fragment pliku XML:

PLIK GŁÓWNY

<product id=”23598″ vat=”23.0″ type=”regular” code_on_card=”BRSS/1″>

………………………………………………… usunięty fragment z parametrami i opisem

<price gross=”55″ net=”44.72″/>

<srp gross=”61.1″ net=”49.67″/>

<sizes>

<size id=”435″ text_id=”17 cm” code=”23598-435″ weight=”1000″>

<price gross=”50.7″ net=”41.22″/>

<srp gross=”52.4″ net=”42.6″/>

</size>

<size id=”438″ text_id=”21 cm” code=”23598-438″ weight=”1000″>

<stock id=”0″ quantity=”-1″/>

<stock id=”8″ quantity=”1″/>

<price gross=”55″ net=”44.72″/>

<srp gross=”61.1″ net=”49.67″/>

</size>

<size id=”544″ text_id=”15,5 cm” code=”23598-544″ weight=”1000″>

<price gross=”50.7″ net=”41.22″/>

<srp gross=”52.4″ net=”42.6″/>

</size>


PLIK DODATKOWY light

<product id=”23598″ vat=”23.0″>

<price gross=”40.49″ net=”32.92″/>

<srp gross=”61.10″ net=”49.67″/>

<sizes>

<size id=”435″ code=”23598-435″ weight=”1000″ >

<price gross=”37.27″ net=”30.30″/>

<srp gross=”52.40″ net=”42.6″/>

</size>

<size id=”438″ code=”23598-438″ weight=”1000″ >

<stock id=”0″ quantity=”-1″/>

<stock id=”8″ quantity=”1″/>

</size>

<size id=”544″ code=”23598-544″ weight=”1000″ >

<price gross=”37.27″ net=”30.30″/>

<srp gross=”52.40″ net=”42.6″/>

</size>

</sizes>


Tutaj możemy zauważyć, że produktem głównym jest <product id=”23598″ , do którego podane są ceny w razie, gdyby nie posiadał żadnego wariantu, oraz w zbiorze <sizes> produkt główny podzielony jest na rozmiary, czyli kod produktu głównego „23598” został rozszerzony o ID rozmiaru np. „23598-435”, „23598-438”, „23598-544”, aby każdy z wariantów stał się unikatowym produktem.


W tej sytuacji system musi pobrać ceny do:

  • produktu głównego na wypadek, gdy inny z pliku nie posiadał wariantu, lub gdyby wariant nie posiadał w sobie ceny, wówczas zostanie przyjęta cena z produktu głównego.

  • wariantu, wówczas cena z produktu głównego zostanie zastąpiona ceną wariantu.

Pobieranie ceny detalicznej do produktu głównego:

  • Tworzymy parametry o przykładowej nazwie: *Cena detaliczna produktu głównego w pliku dodatkowym*.

  • W ustawieniach podczas tworzenia nowego parametry określamy jego typ jako „Cena detaliczna”.

  • Przechodzimy do schematów parametrów i ustawiamy Typ parametru XML: Wartość między tagami, oraz Tag początkowy: id=” i Tag końcowy: ” (wówczas system pobierze wartość przykładowego produktu 23598), oraz zaznaczamy checkbox: Jest to tylko ID, a dokładna wartość znajduje się w innym pliku.

Przechodzimy do konfiguracji pliku dodatkowego:

  • Wybieramy „Dodaj nowy atrybut pliku”, następnie z listy *Cena detaliczna produktu głównego w pliku dodatkowym*

  • Rodzaj atrybutu: Prosty między tagami

  • Tag początkowy ID produktu: id=” oraz Tag końcowy ID produktu: ” (z pliku dodatkowego)

  • Tag początkowy produktu: <product id= oraz Tag końcowy produktu: <sizes> (z pliku dodatkowego), aby zawęzić poszukiwania jedynie dla fragmentu przeznaczonego dla produktu głównego, inaczej system mógłby coś nam pobrać przypadkiem z wariantów.

  • Na koniec Tag początkowy wartości produktu: <price gross=” oraz Tag końcowy wartości produktu: ” , aby pobrać cenę.

Po tych ustawieniach powinna się nam już wyświetlać cena detaliczna w podglądzie: Zarządzanie plikami / podgląd wyników


Teraz pozostało pobrać cenę do wariantów.

Tworzenie konektora:

  • Widzimy, że wspólną wartością z wariantu obu plików jest code=”…….”, które co ważne tworzy coś unikatowego przypisanego jedynie do konkretnego produktu.

  • Na początek w ustawieniach parametrów tworzymy parametr np. o nazwie: „Kod wariantu” z typem parametru „Wartość”, ponieważ chcemy pobrać tylko zwykłą treść.

  • Następnie przechodzimy do ustawienia wariantów pliku głównego i wybieramy: „Dodaj nowy schemat wariantu parametru”.

  • Wybieramy z listy: „Kod wariantu”, a Typ parametru XML będzie nam łatwiej pobrać funkcją: „Wartość jako atrybut danego tagu”.

  • Uzupełniamy Tag początkowy: <size i Tag końcowy: > , aby zwęzić obszar poszukiwań oraz Nazwa atrybutu: code , ponieważ za „code” znajduje się interesujący nas kod wariantu.

Czy prawidłowo utworzyliśmy konektor, możemy podejrzeć w podglądzie wyników.

Po utworzeniu konektora przechodzimy do konfiguracji pliku dodatkowego „Atrybuty pliku”:

  • Wybieramy „Dodaj nowy atrybut pliku” i możemy wybrać z listy systemowy parametr *Cena detaliczna*

  • Rodzaj atrybutu: Złożony (konektor)

  • Tag początkowy produktu: <product id oraz Tag końcowy produktu: </product> dzięki temu pokażemy od-do którego miejsca znajduje się cały produkt

  • Tag początkowy ID produktu: id=” oraz Tag końcowy ID produktu: ” aby pokazać, w którym miejscu znajduje się ID produktu głównego

  • Tag początkowy wartości produktu: <price gross=” oraz Tag końcowy wartości produktu: ” aby pobrać wartość, czyli cenę z głównego produktu

  • Nadrzędny tag początkowy wariantów: <sizes> oraz Nadrzędny tag końcowy wariantów: </sizes> aby pokazać zbiór wszystkich wariantów.

  • Tag początkowy wariantu: <size oraz Tag końcowy wariantu: </size> aby wyodrębnić konkretny wariant

  • Tag początkowy ID wariantu: code=” oraz Tag końcowy ID wariantu: ” aby stworzyć spójność z utworzonym na początku konektorem

  • Tag początkowy wartości wariantu: <price gross=” oraz Tag końcowy wartości wariantu: ” aby pobrać wartość, czyli cenę z konkretnego wariantu

  • Tag początkowy konektora II rzędu: code=” oraz Tag końcowy konektora II rzędu: ” aby pokazać pomiędzy jakimi tagami znajduje się wartość konektora.

Czy prawidłowo pobierają się ceny, możemy podejrzeć w podglądzie wyników, oraz na liście produktów po wygenerowaniu produktów do bazy aplikacji.


Jeżeli chcemy za pomocą konektora pobrać wartości tylko z samych wariantów, pomijamy wówczas konfigurację dla produktu głównego.


W wyjątkowych sytuacjach można utworzyć „Konektor I rzędu”, aby dodatkowo wspomóc Konektor II rzędu, jeżeli zajdzie taka potrzeba.



Rodzaj atrybutu 4) Złożony przetworzona wartość między tagami (konektor)
  • Zasada jest ta sama jak w Rodzaj atrybutu 3) Złożony (konektor), lecz jest trochę więcej ustawień zawężających poszukiwania, dzięki czemu można dokładniej pobrać wartości, jeżeli zajdzie taka potrzeba.









PRZEJDŹ DO POZOSTAŁYCH PORADNIKÓW

MARKOWE Sp. z o.o. © 2023 Wszelkie nazwy oraz znaki towarowe firm trzecich zostały użyte tylko i wyłącznie w celach informacyjnych.