Pravidlo Přidat hodnotu vícenásobného elementu

Pravidlo Přidat hodnotu vícenásobného elementu

Pravidlo umožňuje, jak naznačuje název, přidat hodnotu vícenásobnému elementu. Pojďme si nejdříve ukázat, co je to vícenásobný element.

Co je to vícenásobný element?

Používání vícenásobných elementů detailně popisujeme v tomto příspěvku.

Nové pravidlo Přidat hodnotu vícenásobného elementu

Principem toto pravidlo funguje podobně jako pravidlo Přepsat. Rozdíl je v tom, že nepřepisuje už existující hodnotu, ale přidává.

Dokonce umožňuje přidat i první hodnotu některému elementu, pokud je pro daný export takový element definovaný (existuje na stránce Elementy) ale hodnotu ještě nemá. Pokud ještě definovaný není, je potřeba nejdříve takový element na stránce Elementy vytvořit.

  • Přidáním první hodnoty se z tohoto elementu nestává vícenásobný element (neplatí definice viz výše).

Jak funguje pravidlo Přidat hodnotu vícenásobného elementu

Formulář pro nastavení pravidla vypadá takto:

Kromě standardních polí pro pojmenování pravidla a zvolení výběru produktů má pravidlo pole pro zadání element_path, kam se má nová hodnota vložit, a pole pro samotnou hodnotu. Novou hodnotou může být prázdná hodnota, text, proměnná jiného elementu, či kombinace textu a proměnné.

Pomocí element-path lze zadat, do kterého elementu se má hodnota přidat. Nelze ovšem pomocí POSITION určovat, na kterou pozici se má hodnota přidat. Vždy se přidá na další volné místo.
Například: Zvolený element je prázdný, pravidlo přidá hodnotu na první pozici. Nebo zvolený element má jednu hodnotu, pravidlo přidá novou hodnotu na druhou pozici, atd.

Tímto se toto pravidlo liší od ostatních pravidel, kde je možné pomocí element-path určit a upravit hodnotu na konkrétní pozici.

Přidáním druhé hodnoty elementu se z něho stává vícenásobný element. Pomocí tohoto pravidla je možné z jakéhokoli elementu udělat vícenásobný, a to včetně zanořených elementů.

Příklady použití pravidla

Příklad x:

Ve vstupním feedu máme URL obrázků uložené v této struktuře:

<images>
<image>
<url>url1</url>
<desc>description</desc>
</image>
<image>
<url>url2</url>
<desc>description</desc>
</image>
<image>
<url>url3</url>
<desc>description</desc>
</image>
</images>

V Mergadu 2 takový zápis vypadá takto (vstupní hodnoty):

Na výstupu potřebujeme docílit této struktury:

<IMAGES>
<IMAGE>url1</IMAGE>
<IMAGE>url2</IMAGE>
<IMAGE>url3</IMAGE>
....
</IMAGES>

Postup:

  1. Prvním krokem je naplnění první hodnoty elementu IMAGES | IMAGE. To docílíme třeba pravidlem Přepsat.

Pozor, protože element IMAGES | IMAGE je v našem případě vícenásobný, při volbě elementu, kam chceme hodnotu vložit, je třeba určit jeho polohu pomocí POSITION.

  1. Ve druhém kroku přidáme další (druhou) hodnotu pomocí pravidla Přidat hodnotu vícenásobného elementu.
    Všimněte si, že pomocí POSITION musíme přesně určit, odkud chceme hodnotu URL vzít. V cílovém, vícenásobném elementu ale neurčujeme, na kterou pozici chceme novou hodnotu přidat. Pravidlo hodnotu přidá na další volnou pozici (v tomto případě na druhou).
  2. Ve třetím kroku přidáme další (třetí) hodnotu stejným způsobem.
  3. Takto bychom pokračovali pro každou další hodnotu.

Výsledek vypadá v Mergadu takto (výstupní data):

A samotný výstupní feed: