Stephan1
Returning Observer

Skript für die Bearbeitung einer Referenz

Jump to solution

Hallo,

in einer Formatvorlage will ich einen Referenzwert mit einer String Operation bearbeiten. Hier mal ein Beispiel:

$CMS_REF(#global.ref,abs:1)$

$CMS_SET(myString,#global.ref)$

$CMS_SET(endIndex, myString.length-1)$

$CMS_IF(myString[endIndex-4..endIndex]==".xml")$

    $CMS_SET(newString, myString[0..endIndex-4]+".jsp")$

...

Die Länge (endIndex) des Strings (myString) ergibt leider null.

Wie kann der Wert der Referenz bearbeitet werden?

Es soll

/mein/pfad/webseite.xml

zu

/mein/pfad/webseite.jsp

werden.

Gruß

Stephan

Labels (2)
0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Sorry, hatte es nicht überprüft. Schau doch mal in die Doku zu "ref(..)", wahrscheinlich muss #global.node o.ä. als Parameter übergeben werden.

Peter

View solution in original post

0 Kudos
5 Replies
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Du willst die berechnete URL modifizieren? Dann ist wahrscheinlich dies das gewünschte:

$CMS_SET(myString, ref(#global.ref, abs:1).url)$

Peter
0 Kudos
Stephan1
Returning Observer

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Wenn ich nach dem

$CMS_SET(myString, ref(#global.ref, abs:1).url)$

die Anweisung

$CMS_VALUE(myString)$

aufrufe, dann wird kein Ergebnis ausgegeben, obwohl $CMS_REF(#global.ref)$ mir den Wert ausgibt, den ich ändern will.

0 Kudos
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Sorry, hatte es nicht überprüft. Schau doch mal in die Doku zu "ref(..)", wahrscheinlich muss #global.node o.ä. als Parameter übergeben werden.

Peter
0 Kudos
Stephan1
Returning Observer

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Mit #global.node hat es funktioniert. Somit ergibt sich

$CMS_SET(myString, ref(#global.node, abs:1).url)$

$CMS_SET(endIndex, myString.length-1)$

$CMS_IF(myString[endIndex-3..endIndex]==".xml")$

     <value>$CMS_TRIM(level:4)$$CMS_VALUE(myString[0..endIndex-4]+".jsp")$$CMS_END_TRIM$</value>

$CMS_ELSE$

     <value>$CMS_TRIM(level:4)$$CMS_REF(#global.ref)$$CMS_END_TRIM$</value>

$CMS_END_IF$

Die FS Vorschau verhält sich gegenüber dem FS Server bei der Durchführung der String Operationen unterschiedlich.

Danke für den Hinweis.

0 Kudos
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Re: Skript für die Bearbeitung einer Referenz

Jump to solution

Schön das ich helfen konnte!

Die FS Vorschau verhält sich gegenüber dem FS Server bei der Durchführung der String Operationen unterschiedlich.

Die String-Operationen sind identisch, aber die die URLs unterscheiden sich zwischen Vorschau und "normaler" Generierung.

Peter
0 Kudos