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
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.