Zum Hauptinhalt gehen

Map.toJSON und Probleme mit Hochkomma

Kommentare

12 Kommentare

  • Zendesk API User
    Author: sense - 4/9/2020 12:16

    Kannst Du mal ein Beispiel posten wo es fehlschlägt + FS Version?

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 13:06

    Hey Sven, danke für die schnelle Antwort.

    FS 5.2.1908

    Unser Code (Auszug):

    --$$CMS_SET(array,[])$$--

    ...

    --$$CMS_SET(pictureMap,{:})$$--

    --$$CMS_SET(set_picture)$$--
         --
    $$CMS_REF(media: "ph1110x833")$$--
    --
    $$CMS_END_SET$$--
    --
    $$CMS_SET(set_picture_thumbnail)$$--
         --
    $$CMS_REF(media: "ph1110x833")$$--
    --
    $$CMS_END_SET$$--
    --
    $$CMS_SET(void,pictureMap.put("href", set_picture.toString))$$--
    --
    $$CMS_SET(void,pictureMap.put("thumbnailHref", set_picture_thumbnail.toString))$$--
    --
    $$CMS_SET(void,pictureMap.put("alt", entry.item.lt_picture_alt))$$--

    --$$CMS_SET(void,pictureMap.put("text", entry.item.lt_picture_caption))$$--

    --$$CMS_SET(void,array.add(pictureMap.toJSON))$$--

    ...

    --$$CMS_TRIM(level:3)$$--

         --$<div class="modalGallery maxwidth" images='$CMS_VALUE(array)$' $CMS_VALUE(editorId())$></div>$--

    --$$CMS_END_TRIM$

    Wenn wir uns dann das DIV im Browser anschauen, sehen wir das das ARRAY im images attribute am ersten Hochkomma gebrochen wird.

    Eigentlich sollte sowas doch aber von der Map.toJSON Methode abgefangen werden?

    0
  • Zendesk API User
    Author: sense - 4/9/2020 13:38

    Ich habe das mal bei mir nachgebaut und nur die einzelnen Codeteile angepasst, aber die Funktionalität ist die Gleiche, hier erstmal der FS Code von mir als Vergleich:

    $CMS_SET(array, [])$

    $CMS_SET(pictureMap, {:})$

    $CMS_SET(set_picture)$$CMS_REF(media: "picture_039")$$CMS_END_SET$

    $CMS_SET(set_picture_thumbnail)$$CMS_REF(media: "picture_039")$$CMS_END_SET$

    $CMS_SET(void,pictureMap.put("href", set_picture.toString))$

    $CMS_SET(void,pictureMap.put("thumbnailHref", set_picture_thumbnail.toString))$

    $CMS_SET(void,pictureMap.put("alt", "Lorem ipsum"))$

    $CMS_SET(void,pictureMap.put("text", "Lorem ipsum"))$

    $CMS_SET(void, array.add(pictureMap.toJSON))$

    $CMS_TRIM(level:3)$

    <div class="modalGallery maxwidth" images='$CMS_VALUE(array)$'></div>

    $CMS_END_TRIM$

    und das ergibt bei mir folgenden Ausgabe:

    <div class="modalGallery maxwidth" images='[{"alt":"Lorem ipsum","href":"/fs5preview/preview/127588/media/DE/current/127836/ORIGINAL/picture_039.jpg","text":"Lorem ipsum","thumbnailHref":"/fs5preview/preview/127588/media/DE/current/127836/ORIGINAL/picture_039.jpg"}]'></div>

    Hier nochmal das reine JSON, als formatierte Version

    [

       {

          "alt":"Lorem ipsum",
          "href":"/fs5preview/preview/127588/media/DE/current/127836/ORIGINAL/picture_039.jpg",
          "text":"Lorem ipsum",
          "thumbnailHref":"/fs5preview/preview/127588/media/DE/current/127836/ORIGINAL/picture_039.jpg"

       }

    ]

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 13:41

    Sind denn irgendwo im Text oder der URL Hochkomma eingebaut?

    0
  • Zendesk API User
    Author: sense - 4/9/2020 13:41

    Achso ... im Text, also ein DOM-Text z.B.?

    Teste ich grad mal ... warte :smileywink:

    0
  • Zendesk API User
    Author: sense - 4/9/2020 13:47

    Hab jetzt 2 Eingabekomponenten hinzugefügt

    Ausgabe der beiden über

    $CMS_SET(void,pictureMap.put("alt", st_headline))$

    $CMS_SET(void,pictureMap.put("text", st_text.normalize.toText(true)))$

    dabei kommt dann folgendes JSON bei rum, ich mach mal nen Screenshot

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 13:47

    Wir haben Hochkomma im text, im alt, und im FileName des Bildes (welches ja für die URL Generierung genutzt wird - AdvancedUrlCreator)

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 13:51

    Das sind Gänsefüßchen, aber keine Hochkomma. :smileysad:

    --> ' <--
    Also halbe Gänsefüßchen. Quasi ein einzelner Gänsefuß :smileywink:

    0
  • Zendesk API User
    Author: sense - 4/9/2020 13:53

    Ok also ein "'" als Zeichen, in der Tat, das Zeichen wird nicht escaped, auch bei mir nicht.

    Das ist dann ein Fall für den e-Spirit Support.

    0
  • Zendesk API User
    Author: sense - 4/9/2020 13:59

    Nicht dafür, kannst mich auf dem Ticket gern in CC nehmen, da ich da vermutlich auch noch drüber stolpern werde --> contact@sense-design.de

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 13:59

    Ja sehr schön.

    Allerdings äußerst ärgerlich.

    Da schreibe ich zum ersten Mal als erstes in die Community statt direkt an den Tech Support und dann ist es dieses Mal doch ein Fall für die. :smileyconfused:

    Vielen Dank fürs testen bzw. nachstellen.

    Bleib gesund und schöne Ostern.

    0
  • Zendesk API User
    Author: STrojette - 4/9/2020 14:06

    Leider ist es mir nicht möglich das Ticket mit der von dir genannten Adresse zu teilen. :smileysad:

    Falls es eine Antwort/Lösung von FS gibt, poste ich Sie aber hier.

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.