Prázdne TEXT_PROPERTIES | TEXT_PROPERTY | VALUE

Dobrý deň,

Mám problém v exporte a ten sa týka elementu TEXT_PROPERTIES | TEXT_PROPERTY | VALUE.
V zdrojovom súbore mi pri niekoľkých produktoch (asi 80) chýba hodnota VALUE.
Vo výslednom súbore mi tým pádom mergado 2 zapíše iba

<TEXT_PROPERTIES>
<TEXT_PROPERTY>
<NAME>Niečo</NAME>
</TEXT_PROPERTY>
</TEXT_PROPERTIES>

ja by som však potreboval aby tam bolo

<TEXT_PROPERTIES>
<TEXT_PROPERTY>
<NAME>Niečo</NAME>
<VALUE></VALUE>
</TEXT_PROPERTY>
</TEXT_PROPERTIES>

prípadne výstupná hodnota value môže byť aj medzera.

Skúšal som to nastaviť pravidlom “Prepísať” pre element s regulárnym výrazom ^$ (tzn. prázdnu hodnotu vo value prepíš na medzeru) avšak neúspešne.

Viete mi s tým pomôcť prosím? Bez toho neviem vygenerovať valídny shoptet - dodavatelský feed

1 Like

Mergado při exportu všechny hodnoty v elementech stripuje o neviditelné znaky (např. mezery na začátku nebo na konci hodnot elementů), takže jedna mezera jako hodnota elementu by se odstranila. Zároveň Mergado prázdné elementy neexportuje do výstupního feedu.
Takže nechat hodnotu prázdnou nebo tam dát pouze mezeru nepomůže.

Řešením by bylo dát tam nějaký viditelný znak, například pomlčku -, pokud by to bylo možné.

Případně trochu robustnější řešení by spočívalo ve využití aplikace Blending Bull, která by mohla z výstupního feedu odstranit pomocný text, který by se podstrčil jako hodnota elementu TEXT_PROPERTIES | TEXT_PROPERTY | VALUE.

Dobrý deň,

ďakujem Vám za rýchlu odpoveď.

Mne sa podarilo vložiť prázdnu hodnotu (resp. medzeru) do elementu VALUE vo výstupnom feede (v zdrojovom feede bola hodnota $. Tú som odstránil a nahradil hodnotou [medzera]).
https://app.mergado.com/projects/237378/rules/edit/1641932/

Mám však problém s tým, že v niektorých prípadoch už v zdrojovom feede je prázdny tag value
Ukážka vstupného feedu

<Parameter>
<Name>Údery naprázdno</Name>
<Value/>
<Unit/>
</Parameter>

Ukážka výstupného feedu

<TEXT_PROPERTY>
<NAME>Údery naprázdno</NAME>
</TEXT_PROPERTY>

tzn. výstupný feed nie je valídny shoptet dodavatelský.
Je možné vo výstupnom feede “natvrdo” vložiť element value? Kľudne aj s hodnotou “.” popr. “-”

Ďakujem

Dobrý den,

dovolím si reagovat na Váš dotaz. Zároveň se omlouvám za delší reakční dobu. Kolega měl dovolenou a já ještě čekal na vyjádření vývojáře.

Řešením by mělo být vytvoření takovéhoto pravidla:

Důležitá poznámka:
Od vývojáře jsem však dostal info, že je v aplikaci drobná chybka, která způsobuje, že výše uvedené pravidlo nyní korektně nefunguje :frowning: .
Vše by se však mělo opravit v rámci pravidelného release, které je již tuto středu odpoledne :+1:

Pravidlo si tak můžete již nyní předpřipravit. Děkuji za pochopení.

4 Likes

Dobrý deň,

ďakujem Vám za odpoveď.

Vyskúšal som nastaviť pravidlo podľa Vášho príkladu avšak problém to nevyriešilo. Export stále nie je valídny

<TEXT_PROPERTY>
<NAME>… 2. rychlost</NAME>
<VALUE>0–3 000</VALUE>
</TEXT_PROPERTY>
<TEXT_PROPERTY>
<NAME>Údery naprázdno</NAME>
</TEXT_PROPERTY>
<TEXT_PROPERTY>
<NAME>… 1. rychlost</NAME>
<VALUE>0–22 000</VALUE>
</TEXT_PROPERTY>


https://app.mergado.com/projects/237378/rules/edit/1664133/
Viete prosím, kde by mohol byť problém?

Výstupní feed z Mergada se nyní ukazuje jako validní:

Validace XML fedu byla úspěšná.
Z toho XML feedu může být přidáno 1147 zcela nových produktů a aktualizováno 1147 produktů, pokud již v eshopu budou existovat.

Nicméně našel jsem tam ještě případy, kdy se na výstupu objevila prázdná hodnota v TEXT_PROPERTIES | TEXT_PROPERTY | VALUE.

U některých hodnot byla totiž pravidlem “prázdne value v text property” nastavena jako hodnota mezera, takže se na ni podmínka z element-path … AND VALUE = "" nevztahovala a v elementu VALUE zůstala jen ta mezera, která se při generování výstupního feedu trimuje (trimováním se odstraňují tzv. bílé znaky, jako právě mezery, apod.) a vznikne tak prázdná hodnota. :disappointed:

:bulb: Řešení je snadné, upravit podmínku v element-path a využít tam univerzální regulární výraz pro prázdnou hodnotu nebo mezery a další bílé znaky:
AND VALUE ~ "^\s*$"

Změnu jsem v pravidle nastavil a vyzkoušel. Funguje to. :+1: :wink:

2 Likes

Dobrý deň,

ďakujem Vám za riešenie. Feed je už valídny a ja som sa opäť niečo nové naučil :wink:

Pekný deň prajem

2 Likes