Mapování feedu v praxi - 1. díl

O mapování feedů v Napojse jsme toho napsali již hodně. Nyní se podíváme na praktické příklady a v několikadílném seriálu si ručně namapujeme několik feedů, od jednodušších až po ty nejsložitější.

Dnes se podíváme na XML feed od Heureky. Ačkoliv Heureka feed můžete v Napojse napojit velmi snadno pomocí předhotovené šablony, záměrně si namapujeme feed ručně, abychom si vysvětlili všechny možnosti a záludnosti, s kterým se v mapování takového feedu setkáme.

Začínáme

Poté, co si přidáme nový import a ve formátu feedu zvolíme Vlastní formát XML, se dostaneme na stránku se samotným mapováním:

  • vpravo vidíme seznam všech elementů, které se ve feedu nacházejí. Každý element ve feedu obsahuje specifickou informaci o produktu (název, popis, cenu apod.). Pokud najedete kurzorem myši na otazník, uvidíte příklad hodnoty, které se ve feedu nachází.
  • vlevo pak vidíme samotné mapovací příkazy, které si vysvětlíme v následujících odstavcích.
Stránka mapování
  • pokud potřebujete hlubší vhled do toho, jak feed vypadá, můžete si zobrazit jeho náhled feedu pomocí buttonu Zobrazit > Zobrazit feed. V novém okně uvidíte 50 prvních produktů, které se ve feedu nacházejí.
Náhled feedu

Jdeme na to

Základní vlastnosti produktu

Začneme vlastnostmi, které se u produktu ani ve feedu neopakují. Začneme tím, že nastavíme název produktu:

  1. klikneme na Přidat příkaz
  2. Ze seznamu příkazů vybereme typ Nastav, který slouží k nastavení určité vlastnosti produktu ze zvoleného elementu.
  3. Vybereme Název produktu z pole Vlastnost produktu
  4. Vybereme element PRODUCTNAME, který ve feedu označuje název produktu a klikneme na Uložit.

Po uložení vidíme náhled výsledného mapování a můžeme pokračovat nastavováním dalších vlastností. V seznamu elementů na pravé straně vidíme element PRODUCTNAME označený fialovou barvou, což značí, že je již v mapování použitý.

Stejným způsobem nastavíme rozšířený název produktu, EAN, podrobný popis apod.

TIP: Pro kontrolu správnosti namapovaných dat můžete kliknout na button Zobrazit Produkt vpravo nahoře.


Prodejní cena

Cenu nastavíme obdobným způsobem, jako předchozí základní elementy. Kromě částky však potřebujeme znát i měnu, ve které je cena uvedena. Naskýtají se nám dvě možnosti:

  1. měnu vybereme ze seznamu měn a určíme ji napevno. Pokud například víme, že cena je v korunách, můžeme uvést měnu CZK.

  2. využijeme nastavení měny, které jsme provedli v nastavení formátu feedu a v mapování použijeme příslušnou proměnnou.



Obrázky

Obrázky produktu se ve feedu nacházejí hned ve dvou elementech:

  1. IMGURL, který zpravidla označuje hlavní obrázek produktu. Ten nastavíme standardním způsobem pomocí příkazu Nastav.
  2. IMGURL_ALTERNATIVE, který obsahuje doplňkové obrázky a je specifický tím, že se ve feedu objevuje několikrát - podle toho, kolik má produkt doplňkových obrázků. Říkáme, že se jedná o vícenásobný element.

Protože je doplňkových obrázků více a my chceme namapovat všechny, využijeme příkaz Projdi.

Jak název napovídá, pomocí něj projdeme všechny elementy daného typu a na každém následně zavoláme příkaz Nastav. Ten musí být v mapování nastavený jako podřízený příkaz.

TIP: Všechny vícenásobné elementy jsou v seznamu dostupných elementů označeny symbolem #.


Způsoby dopravy

Stejně jako v případě doplňkových obrázků může jeden produkt obsahovat více způsobů dopravy. S výhodou tedy opět použijeme kombinaci příkazů Projdi a Nastav.

Parametry

Parametry jsou dalším vícenásobným elementem ve feedu. Postup tedy bude stejný, jako v předchozích případech:

  • příkazem Projdi projdeme všechny vícenásobné elementy PARAM
  • nastavíme vlastnost Parametr. Název parametru (např. "barva") vezmeme z elementu PARAM / PARAM_NAME, hodnotu parametru (např. "modrá") namapujeme z elementu PARAM / VAL
  • skupinu parametrů nemusíme vyplňovat

Dodací lhůta

Heureka feed je specifický tím, že dodací lhůtu v elementu DELIVERY_DATE může uvádět dvěma způsoby:

  • jako číslo, které vyjadřuje počet dní k doručení
  • jako datum ve formátu YYYY-MM-DD, které určuje přesné datum doručení

My si ukážeme, jak namapovat obě možnosti. Jelikož dopředu nevíme, v jakém formátu feed dodací lhůty uvádí, nebo zda neuvádí oboje, s výhodou využijeme podmínečného příkazu Když.


Následující kombinace příkazů Když a Nastav se použije, pokud je obsah elementu čislo. Číslo vyjadřuje regulární výraz ^\d+$. Regulární výrazy jsou samostatná problematika, přesahující rozsah tohoto článku, pro jejich pochopení doporučujeme specializované zdroje.

V případě, že bude hodnota ve formátu data, použijeme další kombinaci příkazů Když a Nastav. Tentokrát použijeme regulární výraz ^\d{4}-\d{2}-\d{2}$, který vyjadřuje datum ve formátu YYYY-MM-DD.

Závěr

V tomto článku jsme si ukázali použití všech příkazů s praktickými ukázkami. V následujících článcích se podíváme i na složitější případy mapování a použití filtrů.

Nezapomeňte, že pokud si s mapováním nevíte rady, můžete se na nás obrátit a feedy napojíme za vás.

Byl pro vás tento článek užitečný? Děkujeme za zpětnou vazbu! Hodnocení se napodařilo uložit, zkuste to prosím později.