Speciální atributy

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

Co jsou speciální atributy?

Speciální atributy patří do slovní zásoby jazyka Element-Path. Poznáme je podle toho, že začínají vždy dvěma zavináči @@, např. @@POSITION. Speciální atributy se vážou na element a pomocí nich dokážeme rozlišovat mezi hodnotami daného elementu.

Speciální atributy, které jsou aktuálně k dispozici:

  • @@POSITION: pozice dané hodnoty vícenásobného elementu
  • @@VALUE: hodnota elementu

:information_source:  Do budoucna plánujeme přidávat několik dalších speciálních atributů.

K čemu jsou speciální atributy?

V Mergado Editoru můžeme se speciálními atributy pracovat v podmínkách použitých v rámci cest k elementům, kde pomocí nich snadněji zacílíme na námi vybrané konkrétní hodnoty elementu (většinou vícenásobného).

Potřebujete cílit na různé pozice?

Atribut @@POSITION nedokáže cílit na různé pozice parametrů. Pro tyto účely doporučujeme použít Indexaci. Ta toto omezení odstraňuje a umožňuje přesné určení konkrétního parametru (bez ohledu na jeho pořadí v rámci feedu).

Jak funguje indexace?

Zápis indexace se provádí pomocí znaku #. Tímto způsobem můžete cílit na konkrétní pozici parametru. Například: PARAM { NAME = "Barva" } #{ 2 }
Do závorek můžete dodat i rozsah např. { 1 - 4 }.
V předchozích verzích Mergada by tento zápis odpovídal: PARAM|Barva|2

Příklady použití indexace

Máte produkt, který obsahuje více parametrů s názvem “Barva”. Chcete-li vybrat druhý výskyt tohoto parametru, použijete následující zápis: PARAM { NAME = "Barva" } #{ 2 }

Indexace dává smysl hlavně ve chvíli, kde je použita na již podmíněný element (obsahující podmínku v {}), u kterého nejde použít pozice. Pokud tedy lze použít pozici, použijte pozici. Je to rychlejší a efektivnější.

Příklady použití

@@POSITION

1. Cesta IMGURL_ALTERNATIVE { @@POSITION > 1 } cílí na hodnoty elementu IMGURL_ALTERNATIVE s pozicí větší jak jedna.

2. PARAM { @@POSITION = 2 } | VAL cílí na hodnoty parametru, který je na druhé pozici.

Pro více příkladů a vysvětlení doporučujeme přečíst si samostatný příspěvek o @@POSITION.

@@VALUE

1. IMGURL_ALTERNATIVE { @@VALUE = "https://picsum.photos/200/300" } cílí na hodnotu https://picsum.photos/200/300 elementu IMGURL_ALTERNATIVE.

2. CATEGORY { @@VALUE != "Hračky" } cílí na všechny hodnoty elementu CATEGORY kromě hodnoty Hračky.

Pro více příkladů a vysvětlení doporučujeme přečíst si samostatný příspěvek o @@VALUE.