Search the FirstSpirit Knowledge Base
Hallo zusammen,
für unsere Detailnavigation erstelle ich mit Hilfe einer Formatvorlage und einer Navigationsfunktion einen JSON-String, womit die Detailnavigation dann generiert wird. Da wir auch Sonderzeichen in den Strukturpunkten erlauben, bin ich hier auf ein Problem mit doppelten Anführungszeichen gestoßen.
Ich habe für die Formatvorlage eine Konvertierungsregel (FIRSTedit FOP Entities) konfiguriert, ich habe probiert mit $CMS_VALUE(#nav.label.convert2)$ bzw. $CMS_VALUE(#nav.label.toString.convert2)$ oder auch $CMS_VALUE(#nav.label.replace(""","""))$ die doppelten Anführungszeichen im Label "wegzubekommen". Wobei ich bei letzterem aufgrund der Markierung des Zeichens selbst schon scheiterte.
Hat evtl. jemand einen Tipp oder eine Idee für mich, wie ich die Anführungszeichen da rausbekomme!?
Besten Dank und viele Grüße
Peter
Hy!
Ich mache das in einem Projekt folgendermassen. Ersetze also doppelte Anführungszeichen durch ein einfaches Hochkomma.
$CMS_VALUE(breadcrumbReverse.toString().replaceAll("\"","'"))$
Denke, das hilft Dir weiter!
Grüße
Marcus
Hy!
Ich mache das in einem Projekt folgendermassen. Ersetze also doppelte Anführungszeichen durch ein einfaches Hochkomma.
$CMS_VALUE(breadcrumbReverse.toString().replaceAll("\"","'"))$
Denke, das hilft Dir weiter!
Grüße
Marcus
Hi Marcus,
dumm', die Variante hab ich nicht probiert 😕
Besten Dank!!
Gruß
peter
Hallo Herr Hafke,
ich habe lokal die gewünschte Ersetzung (doppeltes Anführungszeichen in ein einfaches Anführungszeichen konvertieren) mit einer Konvertierungsregel nachgestellt.
Hierzu habe ich eine neue Konvertierungsregel mit dem Namen Convert Special Characters angelegt und den quote-Teil ergänzt:
[quote]
0x22="'"
In den Projekteinstellungen habe ich anschließend im Vorlagensatz die Verwendung der Konvertierungsregel hinterlegt (Server- und Projektkonfiguration / Projekt / Eigenschaften ändern / Vorlagensätze / Vorlagensatz / Eigenschaften / Konvertierungs-Regel).
Nach diesen Änderungen wird mir eine Menüebene mit dem Menünamen ABC "BCD" CDE bei der Ausgabe, mithilfe des Ausdrucks $CMS_VALUE(#nav.label.convert2)$ - in einer Navigation-Funktion - wie folgt ausgegeben:
ABC 'BCD' CDE
Viele Grüße,
Sascha Rusch
Hallo Herr Rusch,
bei uns ist die 0x22="'" auch Bestandteil der vorhandenen Konvertierungsregeln und darüber funktioniert es bei mir komischerweise nicht. Nun habe ich wie Sie, eine komplett neue Regel ausschließlich mit
[quote]
0x22="'"
angelegt und diese in der Formatvorlage konfiguriert. Auch über diesen Weg funktioniert die Konvertierung bei mir leider nicht... :smileyplain:
Viele Grüße
Peter Hafke
Der "quote" Teil wird nur (zusätzlich) angewendet, wenn in der Formatvorlage der entsprechende Haken gesetzt ist ("zitieren").
Hallo Herr Hafke,
vielen Dank für das Feedback.
Ich habe die Konvertierungregel nun auch in einer Formatvorlage bei der Pflege in einem Dom-Editor verwendet.
Die dort eingegebene Zeichenkette
ABC "BCD" CDE
wird nach der Konvertierung als
ABC 'BCD' CDE
ausgegeben.
Wird die Formatvorlage in einem Dom-Editor verwendet oder mithilfe der $CMS_RENDER(...)$-Anweisung aufgerufen?
Konvertierungsregeln, die in einer Formatvorlage für einen Präsentationskanal angegeben sind, werden nur bei der Ausgabe eines Dom-Editors (CMS_INPUT_DOM) oder einer Dom-Tabelle (CMS_INPUT_DOMTABLE) angewendet (siehe auch http://www.e-spirit.com/odfs42/de/vorlagenentwicklung/formatvorlagen_1/konvertierung_formatvorlagen/...).
Abhängig von der Einstellung Zitieren (Reiter Eigenschaften einer Formatvorlage) wird entweder der convert- (Zitieren=Nein) oder der quote-Block (Zitieren=Ja) einer Konvertierungsregel angewendet.
Außerhalb des Dom-Editors und der Dom-Tabelle ist die im Präsentationskanal hinterlegte Konvertierungsregel maßgeblich.
Bei Verwendung der Methode .convert wird der convert- bzw. bei Verwendung von .convert2 wird der quote-Block der dort hinterlegten Konvertierungsregel auf einen String angewendet (siehe auch http://www.e-spirit.com/odfs42/de/vorlagenentwicklung/vorlagensyntax/datentypen/string_1/string_1.ht...).
Viele Grüße,
Sascha Rusch
Danke für den Hinweis,.. den Haken hatte ich tatsächlich vergessen.. :smileyplain:
Leider funktionierts aber dennoch nicht...
Hallo Herr Hafke,
vielen Dank für die Antwort.
Wird die Formatvorlage in Verbindung mit einem $CMS_RENDER(...)$-Aufruf verwendet?
Wenn ja, ist die Konvertierungsregel im Präsentationskanal in den Projekteigenschaften hinterlegt (Server- und Projektkonfiguration / Projekt / Eigenschaften ändern / Vorlagensätze / Vorlagensatz / Eigenschaften / Konvertierungs-Regel)?
Wenn nein, ist die Konvertierungsregel in allen Formatvorlagen, die im Dom-Editor verwendet werden für den gewünschten Präsentationskanal angegeben (Dropdown-Box Konvertierung in jedem Präsentationskanal einer Formatvorlage) oder nur für einzelne?
Welche FirstSpirit-Version setzen Sie ein (überprüft habe ich das Konvertierungsverhalten mit 4.2.468.50982)?
Viele Grüße,
Sascha Rusch
Hallo Herr Rusch,
die Formatvorlage verwende ich lediglich über eine $CMS_RENDER(...)$-Anweisung.
Ich habe in der Formatvorlage, im Reiter Eigenschaften, Zitieren eingeschaltet.
Aber weder über
bekomme ich das gewünschte Ergebnis.
Vielleicht ist noch interessant, dass ich die Konvertierung innerhalb einer CMS_FUNCTION
<CMS_ARRAY_PARAM name="unselectedHTML">
<CMS_ARRAY_ELEMENT index="0..15">"a": { "href" : "$CMS_REF(#nav.ref)$", "text" : "$CMS_VALUE(#nav.label.convert2())$" }</CMS_ARRAY_ELEMENT>
</CMS_ARRAY_PARAM>
verwende!?
Vielen Dank für Ihre Unterstützung und viele Grüße
Peter Hafke