CDATA v Mergadu
K čemu CDATA slouží a proč je důležitá
CDATA (z anglického Character Data) je způsob, jak v XML ochránit část textu před vyhodnocením jako kód. V e-commerce feedech se hodí hlavně tam, kde elementy obsahují HTML nebo speciální znaky — typicky u <DESCRIPTION> či <LONGDESC>. Bez CDATA by se HTML tagy (např. <p>, <strong>) mohly číst jako XML elementy, což vede k nevalidnímu feedu nebo ztrátě obsahu.
V této nápovědě si ukážeme, co CDATA je a jak element v Mergadu jednoduše obalit do CDATA — buď jedním kliknutím v kartě Elementy, nebo ručně pomocí pravidla Přepsat.
Co je CDATA (stručně)
CDATA označuje úsek textu, který se neparsuje jako XML a zůstane přesně tak, jak je zapsán.
Příklad:
<DESCRIPTION><![CDATA[<p>Stylová košile <strong>z bavlny</strong></p>]]></DESCRIPTION>
Bez CDATA by se HTML značky <p> a <strong> mohly interpretovat jako XML elementy a způsobit chybu ve feedu.
Jak přidat CDATA v Mergadu (step-by-step)
A) Nejjednodušší způsob (doporučeno): přes kartu Elementy
- Přejděte do karty Elementy.
- U požadovaného elementu (např.
DESCRIPTION) klikněte na ikonu CDATA. - Přegenerujte výstupní feed: Nastavení → Přegenerování, aby se změna projevila.
- Potřebujete CDATA zrušit? U stejného elementu obalení opět vypněte.
B) Manuální způsob: pravidlem Přepsat
-
Vytvořte pravidlo Přepsat pro daný element.
-
Do pole Nová hodnota zadejte CDATA obal, např.:
<![CDATA[%PRODUCTNAME%]]> -
Po přegenerování uvidíte ve výstupním feedu např.:
<PRODUCTNAME><![CDATA[Tričko pánské černé s krátkým rukávem]]></PRODUCTNAME>
Tipy z praxe
- Používejte CDATA u elementů s HTML formátováním (např.
DESCRIPTION) nebo se speciálními znaky. - Po každé úpravě nezapomeňte přegenerovat feed (Nastavení → Přegenerování).
- Když CDATA chybí, některé HTML značky mohou zhavarovat validaci nebo se nezobrazí správně.
FAQ
Co přesně je CDATA?
Je to úsek v XML, jehož obsah se nevyhodnocuje jako kód, ale bere se doslova jako text.
Kdy mám CDATA použít?
Když element obsahuje HTML nebo speciální znaky — nejčastěji u DESCRIPTION nebo LONGDESC.
Jak nejrychleji obalím element do CDATA v Mergadu?
V kartě Elementy klikněte u daného elementu na ikonu CDATA a poté přegenerujte feed.
Jak CDATA přidám ručně?
Vytvořte pravidlo Přepsat a do nové hodnoty vložte CDATA, např. <![CDATA[%PRODUCTNAME%]]>.
Musím po změně něco dělat, aby se projevila?
Ano, je potřeba přegenerovat výstupní feed: Nastavení → Přegenerování.
Co když CDATA nepoužiji?
HTML značky se mohou brát jako XML tagy, což vede k chybě validace nebo ke ztrátě/zkomolení obsahu.
Lze obalení CDATA zase vypnout?
Ano, v kartě Elementy u daného elementu zrušíte obalení stejnou ikonou.