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

V tomto příspěvku se dozvíme:

K čemu se používá?

Základním principem pravidla je, že námi vybranému existujícímu elementu přidá další hodnotu.

:information_source:   Pravidlo vypadá a pracuje podobně jako pravidlo Přepsat, akorát nepřepisuje už existující hodnotu, ale “tu novou ještě zatím neexistující” (= přidá hodnotu). Schválně najděte rozdíl:

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

Pravidlo funguje intuitivně. Zadáme cestu k elementu, ke kterému se má nová hodnota vložit, a samotnou hodnotu. Po aplikování pravidel se nám daná hodnota přidá k danému elementu.

Příklad:
Mějme následující data:

Pomocí pravidla Přidat hodnotu vícenásobného elementu přidáme další URL obrázku.

Po přegenerování vidíme, že se nám přidala další hodnota k elementu IMGURL_ALTERNATIVE:

:warning:  V cestě k elementu nelze pomocí speciálního atributu @@POSITION určovat, na kterou pozici se má hodnota přidat. Hodnota se vždy automaticky přidá na další volné místo.

Příklad: Zvolený element je prázdný, pravidlo tedy přidá hodnotu na první pozici.
Příklad: 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í cesty k elementu určit a upravit hodnotu na konkrétní pozici.

:information_source:  Přidáním druhé hodnoty elementu se z elementu 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ů.

Pravidlo samotné nepřidává hodnotu strukturově

Pozor na případy, kdy bychom chtěli přidat další hodnotu k zanořenému elementu, který má strukturu jako např. parametr, doprava, varianta, flag apod.

Příklad: špatně

image

Řekněme, že máme u produktu parametr Barva a chceme mu přidat další parametr Velikost. Mohlo by nás napadnout, že stačí použít pravidlo Přidat hodnotu vícenásobného elementu a zadat cestu PARAM | PARAM_NAME a hodnotu Velikost:

Po přegenerování ale dostaneme:

image

Proč? Protože jsme pravidlu řekli, že chceme přidat hodnotu u elementu PARAM_NAME u všech elementů PARAM. A pravidlo nás pouze poslechlo. Musíme tedy upravit náš postup.

Příklad: správně
Správný postup je následující: Pomocí jednoho pravidla Přepsat přidáme hodnoty ke všem elementům dané části struktury. Konkrétně přidáme hodnotu pro VAL a zároveň i pro PARAM_NAME:

Využíváme zde obecného chování pravidel, které říká: Při zapisování do elementů - vše, co je uvedeno v podmínce a je s operátorem = či spojovacím operátorem AND, bude vytvořeno taktéž.

:bulb: V některých případech, kdy máme v jiných elementech stejnou strukturu jako u elementů, u kterých chceme přidávat vícero hodnot, může být výhodnější použít pravidlo Hromadné zkopírování hodnot, kterým si předpřipravíme více hodnot, které pak následně jenom přepíšeme.

:bulb: Pro přidávání parametru nebo dopravy používáme příslušná pravidla Nastavit parametry produktu a Nastavení ceny dopravy.

Nejčastější použití

1. URL obrázků
Příklad jsme si ukazovali v sekci Jak funguje pravidlo Přidat hodnotu vícenásobného elementu? Příklad je uvedený pro formát Heureka, ale stačí do cesty napsat cestu k jakémukoliv námi potřebnému elementu a pravidlo bude fungovat i pro jiné formáty.

Příkladové cesty:

  • IMGURL_ALTERNATIVE
  • g:additional_image_link
  • IMAGES | IMAGE

2. Kategorie
Postup je stejný jako v případě obrázků.

Příkladová cesta pro Shoptet: CATEGORIES | CATEGORY.

Shrnutí

1 Like