CDATA v Mergadu

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

  1. Přejděte do karty Elementy.
  2. U požadovaného elementu (např. DESCRIPTION) klikněte na ikonu CDATA.
  3. Přegenerujte výstupní feed: Nastavení → Přegenerování, aby se změna projevila.
  4. Potřebujete CDATA zrušit? U stejného elementu obalení opět vypněte.

B) Manuální způsob: pravidlem Přepsat

  1. Vytvořte pravidlo Přepsat pro daný element.

  2. Do pole Nová hodnota zadejte CDATA obal, např.:

    <![CDATA[%PRODUCTNAME%]]>
    
  3. 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.