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

0 Kudos
1 Solution

Accepted Solutions

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

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

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

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

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

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