Skip to main content

Global gesetzte Variable in Script auslesen

Comments

2 comments

  • Zendesk API User
    Author: tfuchs - 1/5/2023 15:09

    Hi jzhou,

    im WebeditScriptContext kommst Du nicht an die Variablen, die im Template gesetzt sind. Vielleicht gibt es eine elegantere Lösung, aber wir haben das Problem schonmal so gelöst:

    1. Den Inhalt der Variable in ein (verstecktes) HTML-Element schreiben, also bspw.

     

    <div id="cc_variables" data-preview-ocs-map="$CMS_VALUE(gv_preview_ocs_map.toJson())$" ....></div>

     

    2. Das Element per JavaScript auslesen, bspw. mit jQuery:

     

    var preview_ocs_map = $("#cc_variables").data("previewOcsMap");

     

    3. Die Variable als Parameter an das Skript übergeben:

     

    top.WE_API.Common.execute("script:set_ocs_id", {ocsmap: preview_ocs_map, parameters...}, callbackFunction);

     

    4. Im Script set_ocs_id kannst Du dann auf die Variable "ocsmap" zugreifen.

    Viele Grüße
    Timo

    0
  • Zendesk API User
    Author: jzhou - 1/10/2023 11:32

    Hi Timo,

    danke für deine Antwort, leider reicht das Auslesen selbst in unserem Fall nicht aus, wir möchten die Variable im Script "set_ocs_id" befüllen und dann wieder im Template weiter verwenden.

    Ich habe nun hierfür die Projekt Properties hergenommen:

    project.setProperty("variablenname", "wert");

    Ist vielleicht auch nicht ideal, aber wenigstens global verfügbar und in jedem Kontext auslesbar und auch befüllbar.

    Zur Info falls jemand das hier liest und beschließt auch die Projekt Properties zu verwenden: setProperty() geht nur, wenn der aktuelle Benutzer Projektadmin-Rechte hat. Desweiteren sind diese Properties für das gesamte Projekt gültig, egal welcher Benutzer und welche Session, daher habe ich die aktuelle Benutzer-ID mit in den Variablennamen gepackt.

    Viele Grüße

    Jenny

    0

Please sign in to leave a comment.