Zabalení feedu, či konkrétního elementu do CDATA

Dobrý den, lze to nějak v Mergado udělat? Mám dojem že ano, ale v pravidlech jsem to nenalezl. Díky, Petr Janoušek, FEO

1 Like

Na to stačí jednoduché pravidlo typu Přepsat, kde se hodnota nějakého elementu obalí CDATA znaky, např.:

Pokud do pole pro novou hodnotu zadám: <![CDATA[%PRODUCTNAME%]]> ve výstupním feedu bude např.:
<PRODUCTNAME><![CDATA[Tričko pánské černé s krátkým rukávem]]></PRODUCTNAME>

Aha, to mě nenapadlo to udělat takto “natvrdo” Díky moc Luďku.

2 Likes

Luďku mám dotaz, na Heureku se mi feed nenaimportoval, jelikož obalení do CDATA jaksi “rozstřelilo” zápis PRODUCTNAME ve feedu. Kontroloval jsem samotné pravidlo dle Vašeho, to je OK.

Jde o to, že Mergado na výstupu přidá do PRODUCTNAME před značku CDATA jakousi “haluz” viz obr 1. V tom stejném feedu bez pravidla CDATA je PRODUCTNAME v pořádku. V%C3%BDst%C5%99i%C5%BEek3

Tzn. tato “haluz” se vlastně vytvoří místo “<” v zápise <![CDATA …

Nevíte prosím co stím, resp. nesetkal jste se stím? Díky moc!

1 Like

Hmm, je to tak. Já si kontroloval výstupní feed v prohlížeči a viděl jsem zápis CDATA v pořádku, ale to mi tak vykreslil právě internetový prohlížeč a zmátl mě. :thinking: Když koukám na testovací výstupní feed v textovém editoru, vidím to také zapsáno s entitami. :frowning:

Jiné řešení jak obalit hodnoty do CDATA mě nenapadá. Mergado to vždy do výstupu pošle zapsané jako entity.

Proč vlastně pro Heureku potřebuješ hodnoty obalit do CDATA? Bez toho feed neprojde?
Heureka má i ve specifikaci, že obalení do CDATA se má použít:

v případě textů, kde se vyskytuje příliš mnoho nepovolených znaků (např. “&”, “<”, “>”)

a možným řešením, kromě použití CDATA, je právě nahrazení těch speciálních znaků za entity, např.:

Zkusil bych to tedy touhle cestou, když CDATA využít nejde.

1 Like

Není to tip na pravidlo @ludekvolejnik @pavel_rusinsky ?
V nastavení pravidla by uživatel zaklikal, jaké elementy chce do CDATA zabalit a Mergado by to udělalo?

#kzamyšlení

1 Like

Luďku, děkuji moc!

2 Likes

V nové verzi Mergado 2 je obalení elementu do CDATA o mnoho jednodušší. Na stránce Elementy stačí u konkrétního elementu zvolit ikonku Obalit do CDATAscreenshot-app.mergado.com-2022.11.22-13_21_38

Změna se projeví po přegenerování.

3 Likes