phafke
Returning Observer

Anführungszeichen ersetzen

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions
MarcusDau
Occasional Collector

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

View solution in original post

0 Kudos
11 Replies
MarcusDau
Occasional Collector

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

0 Kudos
phafke
Returning Observer

Hi Marcus,

dumm', die Variante hab ich nicht probiert 😕

Besten Dank!!

Gruß

peter

0 Kudos

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

0 Kudos
phafke
Returning Observer

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

0 Kudos

Der "quote" Teil wird nur (zusätzlich) angewendet, wenn in der Formatvorlage der entsprechende Haken gesetzt ist ("zitieren").

Peter
0 Kudos

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

0 Kudos

Danke für den Hinweis,.. den Haken hatte ich tatsächlich vergessen.. :smileyplain:

Leider funktionierts aber dennoch nicht...

0 Kudos

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

0 Kudos
phafke
Returning Observer

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

  • #nav.label.convert() noch
  • #nav.label.convert2()

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

0 Kudos