Search the FirstSpirit Knowledge Base
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
Sorry, hatte es nicht überprüft. Schau doch mal in die Doku zu "ref(..)", wahrscheinlich muss #global.node o.ä. als Parameter übergeben werden.
Du willst die berechnete URL modifizieren? Dann ist wahrscheinlich dies das gewünschte:
$CMS_SET(myString, ref(#global.ref, abs:1).url)$
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.
Sorry, hatte es nicht überprüft. Schau doch mal in die Doku zu "ref(..)", wahrscheinlich muss #global.node o.ä. als Parameter übergeben werden.
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.
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.