Sloučení variant

Jak na slučování variant položek

V tomto příspěvku se dozvíte:
  • K čemu slouží pravidlo Sloučení variant položek
  • Jak rozpoznat formát, který je tzv. variantní
  • Nastavení pravidla Sloučení variant
  • Příklad nejčastějšího využití (Heureka → Shoptet]
  • Nejčastější otázky a odpovědi

K čemu slouží pravidlo Sloučení variant položek

:warning: Důležitá poznámka: Aktuálně je toto nové pravidlo Sloučení variant dostupné pouze pro testovací skupinu uživatelů skupiny Research group. Pokud máte zájem se zapojit do testování a vyzkoušet si toto pravidlo, najdete více info zde.

Pravidlo je určeno k zajištění převodu více samostatných produktů, které tvoří v rámci vstupního feedu skupinu položek sdruženou (nejčastěji) pomocí elementu ITEMGROUP_ID. Na výstupu je pak formát Shoptet kompletní).

Například v rámci Heureka feedu mohou být variantou různé velikosti, barvy, vzory, sady produktů. Stejnou skupinu těchto produktů je pak ve feedu označena v tagu ITEMGROUP_ID.

Ve feedu jsou pak tyto varianty řešeny jako samostatné produkty, které mají stejnou hodnotu v rámci elementu ITEMGROUP_ID

Naopak jiné formáty, například Shoptet nebo UpGates, však mají varianty produktu zanořeny v rámci hlavní položky - tzv. Master produktu, který má v sobě varianty.

Pravidlo Sloučení variant tak dokáže zajistit převod mezi formáty, které mají varianty samostatně a těmi, které je mají “sdružené” v rámci Master produktu.


Grafické znázornění sloučení více produktů tvořících varianty do “jednoho produktu s variantami”:

Jak rozpoznat formát, který je tzv. variantní

Ukázka feedu s ITEMGROUP_ID:
(feed Heureka, 3 barevné / velikostní varianty)
Jednotlivé varianty jsou zde jako samostatné položky ohraničené elementem SHOPITEM a sdružené pomocí ITEMGROUP_ID, které má stejnou hodnotu “34”.

|719x907.8324362615633

Naopak v rámci Shoptet feedu jsou jednotlivé varianty umístěny v rámci Master produktu a jsou ohraničeny elementem VARIANT.

Ukázka feedu s Master produktem:
(Jedna položka se 3 variantami uvnitř)

Když se podíváte na strukturu variantního feedu, tak je vidět, že některé elementy jsou společné pro všechny varianty (typicky název položky, kategorie, obrázky,…) a některé elementy jsou zařazeny až u varianty (EAN, cena, kód položky,…)

Je to logické, jelikož se předpokládá, že například umístění položky v rámci kategorie eshopu bude vždy totožné. Naopak cena, EAN, dostupnosti, kódy jednotlivých položek, budou často odlišné a proto je třeba mít tyto údaje uvedeny přímo u varianty.

A právě pravidlo pro Sloučení variant vám umožní přesně definovat vámi požadované chování - tedy umístění každého elementu v rámci feedu:

  • Společný element
  • Variantní element umístěný přímo u varianty

Ukázka společných elementů u Master produktu:

:pushpin: Filozofie pravidla Sloučení variant je následující:
Když je element nastavený v rámci pravidla Sloučení variant, tak je to “Společný element”. Pokud element není nastaven v rámci slučovacího pravidla, tak se přenese k variantě položky.


Jak nastavit pravidlo Slučování variant:

Ukázka nastavení pravidla:

1. Element pro výběr Master položky
Slouží pro definici elementu, který se použije pro hledání vhodné “Master položky”, pod kterou spadají všechny varianty.

Chci vědět více, jak přesně funguje volba Master položky
  • Příklad: V případě volby elementu ITEM_ID systém vyhledá nejvhodnější položku v rámci hodnoty ID položek takto:

    • Nejprve se podívá, zda není ID položky náhodou totožné s ITEMGROUP_ID. Pokud ano, tak toto bude Master položka, pod kterou budou spadat všechny varianty. Z Master produktu se pak budou brát “společné elementy”

    • V případě, kdy je ITEMGROUP_ID jiné než je ID u všech položek v rámci skupiny variantních položek, tak se používá tzv. Lexikografické pořadí - více info zde.
      Zjednodušeně řečeno: V případě, že bychom brali jako ukázkové řešení situaci, kdy jsou ID položek pouze číselné hodnoty, tak se dá říci, že: “Master položka bude vždy ta varianta, která má nejnižší číslo” :wink:

    • V případě, kdyby v rámci elementu ITEM_ID nebyla uvedena žádná hodnota ani u jedné položky, tak se pro výpočet použije (nejnižší hodnota) Mergado ID. Mergado ID je interní identifikátor položky, který je systémem přiřazen při importu dat a je k dispozici vždy.

2. Element se sdružovacím kódem
Určuje element, který obsahuje ID sloužící pro sdružení variant do jedné položky. Nejčastěji je tímto elementem ITEMGROUP_ID. Kód v tomto elementu musí být u všech variant jedné položky totožný.

3. Pole pro výběr elementu
Vyberte elementy, které mají být společné pro všechny varianty položky…

Následně vyberte typ akce, jakým způsobem se mají převzít hodnoty z variant (respektive původně samostatných produktů na vstupu, které tvoří skupinu se stejnou ITEMGROUP_ID).

4. Typ akce:

  • Kopírovat z Master položky
    Hodnota se vezme z elementu, který je uveden u Master položky. Defaultně, tedy položky, která má nejnižší ITEM_ID ze skupiny všech položek se stejným ITEMGROUP_ID.

  • Sloučit hodnoty z variant
    Vezme hodnoty z elementů u všech položek se stejným ITEMGROUP_ID a sloučí je.

V případě, kdy mají elementy totožnou hodnotu, tak jsou údaje sloučeny. Pokud mají elementy různé hodnoty, tak jsou elementy uvedeny vícekrát, viz element IMAGE na ukázce uvedené výše.


Jak správně připravit data pro Sloučení variant v případě formátu Shoptet

V následujícím příkladu si uvedeme, jak pomocí pravidla Sloučení variant připravíte data pro platformu Shoptet. V našem ukázkovém příkladu budeme počítat s tím, že na vstupu máme formát Heureka, který má u položek nastavený ITEMGROUP_ID.

:information_source: Do budoucna připravujeme automatizované nastavení pravidla pro nejčastěji používané “variantní formáty” - Shoptet / Upgates. Zatím je však třeba správné nastavení zajistit z vaší strany při tvorbě pravidla.

Nastavte správně pravidlo Sloučení variant

  1. Do kolonky s názvem Element pro výběr Master položky nastavte element ITEM_ID.
  2. Jako Element se sdružovacím kódem pak zvolte hodnotu ITEMGROUP_ID.
  3. Nastavte všechny elementy u kterých se předpokládá, že mají být společné pro všechny varianty + definujte vámi požadovanou akci:

Poznámka: Další elementy Shoptetu a jejich doporučené zařazení naleznete zde.


Vyberte parametry, které tvoří variantu produktu (barva / velikost,…)

Toto je klíčová část celého procesu. V této fázi je třeba nejprve zajistit přípravu dat u variantních položek před samotným sloučením variant, které probíhá až v rámci exportu dat. V současné chvíli pravidlo ještě nevytváří při exportu parametry produktu, ale zajišťuje “pouze” vytvoření správné variantní struktury feedu.

Vhodné parametry je tak třeba předpřipravit pravidlem Hromadným zkopírováním hodnot, z elementu PARAM na straně vstupního formátu a doplnit je do elementů PARAMETERS.

Pravidlo Sloučení variant pak zajistí převod zkopírovaných parametrů do správné struktury v rámci variantního feedu.

Následující postup je tedy takovýto:

1. Vytvořte pomocné elementy pro budoucí parametry
Na stránce Elementy nejprve vytvořte nové elementy pro parametry ve schématu uvedeném níže na obrázku, aby pravidlo nastavené v bodě 2. dále mělo kam zkopírovat jednotlivé hodnoty.

:warning: Důležité: Je třeba zajistit vytvoření nových elementů PARAMETERS na první úrovni struktury formátu, tedy hned pod elementem SHOPITEM. V případě, kdybyste zkopírovali hodnoty rovnou do elementu VARIANTS | VARIANT | PARAMETERS nebude toto paradoxně správné řešení.

V tomto případě by se totiž již před pravidlem Sloučení variant připravila položka, která již obsahuje variantní strukturu a pravidlo Slučování variant je nastaveno tak, že do položek, které již mají nastavenu variantní strukturu nezasahuje a “pouze vezme již vytvořenou variantu a přesune ji k Master položce.

Toto chování je záměrné a je určeno k tomu, abychom respektovali strukturu již předpřipravených variant u položek a nezasahovali do podoby variant takovýchto produktů.

2. Zvolte vhodné parametry které mají tvořit varianty (barva, velikost,…)
V rámci vstupního feedu mohou být v parametrech i hodnoty, které nejsou pro nás důležité (vzor, určení, typ produktu, apod.), které však nejsou vhodné pro parametry. Tyto údaje navíc Převodník formátů již převedl do elementů TEXT_PROPERTY.

Je tedy třeba nastavit, které parametry jsou pro nás důležité (v našem případě barva a velikost) a tyto mají tvořit varianty produktu.

:information_source: V budoucnu se nastavení volby parametrů bude řešit přímo v nastavení pravidla pro Sloučení variant. V této fázi je však třeba zajistit vytvoření tohoto pomocného pravidla.

Pomocí pravidla Hromadné zkopírování hodnot nastavte přenos informace o barvě, velikosti a případných ostatních parametrech, které tvoří variantu a mají tak být uvedeny u varianty produktu.

Ukázka nastavení pravidla:

3. Vytvořte optimální název pro variantní produkty
Nezapomeňte na to, že název jedné z variant položky bude po sloučení variant společným názvem pro všechny varianty produktu. Je však třeba počítat s tím, že názvy mohou obsahovat údaje o velikosti a barvě položky, což je pro Vás v této chvíli nežádoucí.

Typická ukázka názvů variantních položek:

  • Tričko s krátkým rukávem Barva: Bílá, Velikost: M
  • Tričko s krátkým rukávem Barva: Bílá, Velikost: XL
  • Tričko s krátkým rukávem Barva: Červená, Velikost: S
  • Tričko s krátkým rukávem Barva: Zelená, Velikost: XXL

Jak vidíte takovýto název je pro nás nežádoucí. V rámci Mergado Editoru si však můžeme vytvořit novou Proměnnou, v rámci které si pomocí regulárního výrazu zpracujeme názvy položek tak, aby vyhovovaly našim potřebám.

Ukázka nastavení proměnné:

Výše uvedené nastavení zajistí toto:

  1. Vytvoří se nová proměnná s názvem Nazev_bez_variant
  2. Nová proměnná bude obsahovat původní název položky, který bude očištěn o text týkající se velikosti a barvy položky

Regulární výraz, který jsme použili je zde: (.*?)(?=\s*Barva|\s*Velikost)(.*)

Pak už jenom tuto proměnnou nastavíte pravidlem Přepsat jako novou hodnotu do elementu NAME u variantních položek.

:information_source: Regulární výraz si samozřejmě můžete upravit dle potřeby s ohledem na názvy vybraných parametrů.

:information_source: Ideální je nastavit omezení pravidla pouze na výběr položek, které mají nastaven element ITEMGROUP_ID, abyste si zbytečně omylem neupravili i položky, které nemají být v budoucnu variantami.


Otázky a odpovědi:

(kliknutím na nadpis se zobrazí odpověď)

Proč ve výběru pravidel nemám vůbec k dispozici pravidlo Sloučení variant?

Pravidlo Sloučení variant je k dispozici pouze v případě, kdy je v rámci projektu nastaven na výstupu formát, který podporuje variantní element. Aktuálně jsou to formáty Shoptet (kompletní / dodavatelský), UpGates, Pepita, Samba, Spartoo, případně dokonce váš “Vlastní formát”, který má definován “variantní” element.

Proč na stránce Produkty nevidím i po zapnutí pravidla “Sloučení variant” již sloučené produkty?

Pravidlo pro Sloučení variant je aktuálně řešeno tak, že se produkty slučují až v rámci exportu položek. Do budoucna však plánujeme zajistit zobrazení sloučených položek již před exportem.

Co když chci pracovat na stránce produkty s již sloučenými produkty?

V současné chvíli je jediným řešením “řetězení” projektů za sebe. V prvním projektu si zajistíte sloučení variant a výstupní feed s již sloučenými daty z prvního projektu použijete jako “vstupní feed” u druhého projektu. Takto budete mít (v druhém projektu) na stránce Produkty již sloučená data a budete moci s nimi dále jednoduše pracovat.

Jak na stránce Produkty rychle poznám, ze které položky se budou brát údaje společné pro všechny varianty?

Pod názvem položky je umístěna informace, zda se jedná o Master produkt, ze kterého jsou brány společné informace.

Zároveň je možné kliknout na odkaz, který zobrazí všechny položky, jež budou tvořit budoucí varianty:

|687x342.6057355967017

Zároveň u každé (budoucí) varianty položky vidíte info, která položka je hlavní položkou:

|687x343.1063854725475

Jak zajistit ideální název Master položky?

Toto je možné pomocí funkce Proměnné, jak je popisováno výše v části s názvem:
Jak správně připravit data pro pravidlo Sloučení variant v případě formátu Shoptet.

Je možné použít pravidlo Sloučení variant i ve chvíli, kdy mám variantní formátu nejen na výstupu, ale i vstupu?

Ano, je to možné. Spuštění tohoto pravidla je sice možné pouze v případě, kdy je na výstupu variantní formát, ale zároveň je možné jej použít i v případě čistě variantních formátů na vstupu i výstupu současně.

Typickým příkladem může být potřeba zajištění sloučení barevných variant položek, které jsou na vstupu například ve formátu Shoptet, ale zároveň jsou uvedeny jako samostatné produkty. Vy však potřebujete zajistit jejich sloučení, aby pak v rámci importu do Shoptetu byly uvedeny jako jedna položka, která má barevné varianty.

Řešením je vytvoření “sdružovacího elementu”, který bude na výstupu skrytý a použitý tedy pouze pro pravidlo Sloučení variant.

Proč nemohu změnit pořadí aplikace pravidla Sloučení variant?

Samotné slučování variant je realizováno až při exportu dat. Proto je i pravidlo Sloučení variant vždy až jako poslední pravidlo v pořadí.

Proč Mergadu tak dlouho trval vývoj pravidla na Sloučení variant?

Slučovací pravidlo je jedno z nejsložitějších pravidel, které jsme řešili. Pravidlo je svým způsobem unikátní napříč celou aplikací Mergado v tom, že pracuje s hodnotami z více produktů v rámci feedu. Všechny ostatní pravidla pracují vždy pouze s hodnotami, které jsou umístěny v rámci jedné položky (skupiny elementů ohraničujících položku).

Věříme, že pravidlo uvítáte. Podle ohlasů pak samozřejmě plánujeme pravidlo dále vyvíjet. :slightly_smiling_face:

2 Likes