Aller au contenu principal

Leere Variablen im Skript abfragen

Commentaires

9 commentaires

  • Zendesk API User
    Author: thmarx - 12/10/2012 13:05

    Hallo Herr Drees,

    für die Abfrage, ob ein Wert gesetzt ist oder nicht, können sie isEmpty() verwenden:

    if(gc.getVariableValue("date").isEmpty()) date=new Date();

    Viele Grüße

    Thorsten Marx

    0
  • Zendesk API User
    Author: jdrees - 12/10/2012 13:26

    Es will noch nicht so recht!

    Das ist mein Aufruf:

    $CMS_SET(newDate, class("java.util.Date").new(113,0,01,0,0,0))$

    $CMS_RENDER(script:"skript", date:newDate)$

    Das ist mein Skript:

    if(gc.getVariableValue("date").isEmpty()) date=new Date();

    else date=gc.getVariableValue("date");

    returnVar=date;

    result.setValue(returnVar);

    Wenn ich kein "date" übergebe bekomme ich das aktuelle Datum - ist ja richtig

    Wenn ich aber als "date" newDate übergebe bekomme ich keine Ausgabe mehr.

    Was habe ich falsch gemacht?

    Gruß

    Julian

    0
  • Zendesk API User
    Author: thmarx - 12/10/2012 13:54

    Hallo Herr Drees,

    jetzt ist es mir aufgefallen. die isEmpty Methode funktioniert natürlich nicht auf einem Date Objekt, daher kann sie hier auch nicht verwendet werden.

    CMS_RENDER kann ja mit beliebigen Objekten aufgerufen werden. Daher werden sie auf ein instanceof nicht verzichten können:

    if (gc.getVariableValue("date") instanceof java.util.Date)

              date = gc.getVariableValue("date");

    else

              date = new Date();

    So hat es bei mir funktioniert.

    Viele Grüße

    Thorsten Marx

    0
  • Zendesk API User
    Author: jdrees - 12/10/2012 13:56

    Okay Danke!

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 12/10/2012 15:09

    Wieso wird hier überhaupt ein Skript benötigt? Als Template-Code würde das so aussehen:

    $CMS_VALUE(date.format("MMMM", "de_at"), default:#global.now.format("MMMM", "de_at"))$

    0
  • Zendesk API User
    Author: jdrees - 12/11/2012 7:52

    Ist es möglich die Locale in der Seitenvorlage zu setzen? Z.B. #global.setLocale(Locale.AUSTRIA) ?

    Das wäre noch praktischer!

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 12/11/2012 8:22

    $CMS_SET(#global.locale, class("java.util.Locale").AUSTRIA)$

    Das muss aber auch wieder zurückgesetzt werden, da der globale Kontext auch für alle folgenden Seiten in der Generierung gilt.

    0
  • Zendesk API User
    Author: jdrees - 12/11/2012 9:53

    Scheinbar ist die Locale nicht bekannt, er springt dann immer auf "en_US" zurück. Aber warum ist dem GregorianCalendar dann die Locale "de_AT" bekannt?

    $CMS_SET(#global.locale, class("java.util.Locale").new("de_at"))$ funktioniert.

    Aber erstellt dann natürlich eine leere Locale

    0
  • Zendesk API User
    Author: jdrees - 12/11/2012 10:57

    Habe jetzt die Lösung:

    $CMS_SET(#global.locale, class("java.util.Locale").new("DE","AT"))$

    0

Vous devez vous connecter pour laisser un commentaire.