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.

Co je CDATA?#

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?#

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.

🇨🇿 🇬🇧 🇩🇪 🇭🇺