Search the FirstSpirit Knowledge Base
Hallo :smileygrin:
Ich versuche gerade aus einer Datenquelle valide Json files zu generieren die in einzelnen eingabekomponenten CMS_INPUT_DOM verwenden und dort können auch links angelegt sein. beim lesen der dateien stört sich javascript natürlich an den hochkommas und umbrüchen im inhalt.
Die Umbrüche entferne ich mit CMS_TRIM, aber bei den Hochkommas bin ich ratlos weil die syntax nicht akzeptiert wird.
Mein Beispiel:
$CMS_IF(#cs.isFirstContentRow)${"addon":[ {
$CMS_ELSE$
{
$CMS_END_IF$
"name":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.name.replaceAll("", ""), default:"")$$CMS_END_TRIM$",
"item_id":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.ITEM_ID, default:"")$$CMS_END_TRIM$",
"shortdesc":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.shortdesc.replaceAll("", ""), default:"")$$CMS_END_TRIM$",
"longdesc":"$CMS_TRIM(level:4)$$CMS_VALUE(#row.longdesc.replaceAll("", ""), default:"")$$CMS_END_TRIM$"
$CMS_IF(!#cs.isLastContentRow)$
},
$CMS_ELSE$
]}}
$CMS_END_IF$
Meine Vermutung war dass #row.name.replaceAll("\"", "\\"") funktionieren würde um aus einem " ein \" zu machen, dem ist aber leider nicht so.
Selbst bei einem funktionierenden replacing von beispielsweise #row.name.replaceAll(" ", "-") ist die ausgabe plötzlich leer was aber nur bei INPUT_DOM passiert -> der name ist beispielsweise ein INPUT_TEXT und da funktioniert das testreplacing
Bitte um Hilfe
LG Chris
Ich stand mal selber vor dem Problem, bei mir funktioniert:
$CMS_VALUE(tmpshort.toString.replaceAll("\"","\\\\\""))$
das ist "ein" Test => das ist \"ein\" Test
Das funktioniert bei mir auch :smileygrin: danke!