Samouczek importu danych z hurtowni motoryzacyjnej. Jak wykorzystać importer XML do integracji wielu cech i atrybutów?

Samouczek

Jak zintegrować się z hurtownią motoryzacyjną?

Ten samouczek pokaże Ci, jak wykorzystać Menadżer Importu CSV & XML do zaimportowania danych z feedów produktowych udostępnianych przez jedną z hurtowni motoryzacyjnych w Polsce.

Jeśli nie znasz modułu importu zapoznaj się z podstawami jego działania na filmie poniżej. Jeśli moduł jest Ci znany, możesz pominąć ten filmik.

Przedstawienie problemu

Jeden z naszych klientów importuje opony bezpośrednio od swojego dostawcy. Jedno z pól XML w pliku z hurtowni zawiera rozmiar opony w jednym zapisie: 175/70R14. Chcemy rozbić ten zapis na 3 niezależne wartości, tak aby każdy wymiar był reprezentowany niezależną cechą lub atrybutem. Dane te w prosty sposób można rozbić w Excelu, jednak co zrobić, gdy chcemy automatycznie pobierać i aktualizować dane bezpośrednio od dostawcy, a w sklepie uzyskać 3 oddzielne cechy lub atrybuty:

  • 175 - szerokość opony
  • 70 - wysokość profilu
  • R14 - rozmiar felgi

Rozwiązanie

1. Na początku dopasuj trzy razy pole z rozmiarem opony i skonfigurować je jako cechę lub atrybut. Wielokrotne dopasowania tego samego pola wykonasz w zakładce NIESTANDARDOWE DOPASOWANIA. Możesz w niej podać wiele razy ścieżkę do tych samych danych i za każdym razem dowolnie ją skonfigurować.

2. Chcemy, aby w każdym z 3 dopasowanych pól znalazły się tylko wybrane dane z wartości 175/70R14. Aby wyciągnąć interesujące nas dane należy wykorzystać WYRAŻENIA REGULARNE (regex). Znajdują się one w KONFIGURACJI dopasowanego pola w sekcji REPLACEMENT.

Dzięki regex możesz przesiewać dane w dowolny sposób (więcej informacji o tym, jak działają wyrażeń regularnych znajdziesz np. w Wikipedii). W naszym przykładzie z jednej wartości "175/70R14" chcemy wyciągnąć 3 różne dane, zatem potrzebujemy 3 wyrażenia regularne:

> Dla wartości 175: 
> Find: ~([0-9]+)/([0-9]+)R([0-9]+)~
> Replace: $1

> Dla wartości 70:
> Find: ~([0-9]+)/([0-9]+)R([0-9]+)~
> Replace: $2

> Dla wartości R14:
> Find: ~([0-9]+)/([0-9]+)R([0-9]+)~
> Replace: R$3

W ten sposób wyciągneliśmy wartości 175, 70 oraz R14. Możemy importować te dane jako niezależne cechy lub atrybuty, a następnie wygenerować kombinacje. 

Ciekawostka

Jeśli jedno pole zawiera wartości o stałej ilości znaków, które chcesz rozdzielić, możesz wykorzystać prostszy sposób na edycje danych z pliku zanim trafią do Twojego sklepu. Wykorzystaj funkcje UTNIJ OD POCZĄTKU oraz UTNIJ OD KOŃCA, dzięki którym będziesz mógł w każdym dopasowaniu usunąć dowolną liczbę znaków z początku i końca wartości w pliku, pozostawiając tylko te, które Cię interesują.

Komentarze (2)
z 2

Could we do this with your importer module? Without any other addons?

Greg - Yes, all steps described in post you will do using only our Smart CSV & XML Import Module! :-)

Brak wpisów.