captFuture
I'm new here

CSV ausgabe von Datenquellen

Jump to solution

In unserem Firstspirit 5 Projekt werden Datenquelleninhalte von Redakteuren gepflegt und da sich mitlerweile schon sehr viele Einträge darin befinden (einige sogar noch aus FS3) haben wir ein CSV import script programmieren lassen, welches auch sehr gut funktioniert

Bei der erstellung der ausgangsfiles hapert es aber leider:

um ein CSV zu generieren habe ich im Template folgendes:

$CMS_IF(#cs.isFirstContentRow)$"item_id";"item_type";"item_name";"name";"shortdescription";"longdescription";"legaltext"$CMS_ELSE$$CMS_END_IF$

$CMS_TRIM(level:4)$

"$CMS_TRIM(level:4)$$CMS_VALUE(#row.ITEM_ID, default:"")$$CMS_END_TRIM$";

"$CMS_TRIM(level:4)$$CMS_VALUE(#row.ITEM_TYPE, default:"")$$CMS_END_TRIM$";

"$CMS_TRIM(level:4)$$CMS_VALUE(#row.ITEM_NAME, default:"")$$CMS_END_TRIM$";

"$CMS_TRIM(level:4)$$CMS_VALUE(#row.name.replaceAll("", ""), default:"")$$CMS_END_TRIM$";

$CMS_SET(tmpshort)$$CMS_TRIM(level:4)$$CMS_VALUE(#row.Description)$$CMS_END_TRIM$$CMS_END_SET$"$CMS_VALUE(tmpshort.toString.replace("\"","\\\""))$";

$CMS_SET(tmplong)$$CMS_TRIM(level:4)$$CMS_VALUE(#row.kDescription)$$CMS_END_TRIM$$CMS_END_SET$"$CMS_VALUE(tmplong.toString.replace("\"","\\\""))$";

$CMS_SET(tmplegal)$$CMS_TRIM(level:4)$$CMS_VALUE(#row.legaltext)$$CMS_END_TRIM$$CMS_END_SET$"$CMS_VALUE(tmplegal.toString.replace("\"","\\\""))$"

$CMS_END_TRIM$

Dies funktioniert auch sehr gut jedoch ist die Ausgabe mit allen HTML entities.
Wie schaffe ich es, damit zumindest die umlaute nicht in html ausgegeben werden (in der datenbank stehen die umlaute "normal")

Danke

Christoph

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Christoph,

normalerweise würde ich antworten, dass da bei der Ausgabe keine Konvertierung erfolgt, diese wahrscheinlich in den Eingabekomponenten definiert sein wird (convertEntities="STANDARD" oder ="QUOTE"). Dann wäre die Lösung, diese auf NONE zu ändern oder eine eigene Vorlage für die CSV Ausgabe zu definieren, wenn andere Ausgabekanäle die Konvertierung benötigen und der Aufwand zu groß ist, dort die Ausgabe mittels .convert bzw. .convert2 durchzuführen.

Aber Du gibst ja mittels #row aus, solltest also nach meinem Verständnis nicht über die Eingabekomponente gehen. Insofern vermute ich einfach mal, dass Du die Ausgaben in einer Formatvorlage machst und dort eine Konvertierungsregel ausgewählt ist. Dann ist die Lösung, in der Formatvorlage keine Konvertierungsregel auszuwählen.

Viele Grüße aus Dortmund,

  Holger

View solution in original post

0 Kudos
4 Replies
marro
Crownpeak employee

Hallo Christoph,

am einfachsten wäre es sicherlich, wenn Du in den CMS_VALUES per .replace("ü", "ü").replace("ö", "ö").replace("ä", "ä") die Umlaute ersetzt.

Ansonsten müsste man mal schauen, woran es liegt, dass die Umlaute konvertiert werden.

Viele Grüße

Donato

0 Kudos
hoebbel
Crownpeak employee

Hallo Christoph,

normalerweise würde ich antworten, dass da bei der Ausgabe keine Konvertierung erfolgt, diese wahrscheinlich in den Eingabekomponenten definiert sein wird (convertEntities="STANDARD" oder ="QUOTE"). Dann wäre die Lösung, diese auf NONE zu ändern oder eine eigene Vorlage für die CSV Ausgabe zu definieren, wenn andere Ausgabekanäle die Konvertierung benötigen und der Aufwand zu groß ist, dort die Ausgabe mittels .convert bzw. .convert2 durchzuführen.

Aber Du gibst ja mittels #row aus, solltest also nach meinem Verständnis nicht über die Eingabekomponente gehen. Insofern vermute ich einfach mal, dass Du die Ausgaben in einer Formatvorlage machst und dort eine Konvertierungsregel ausgewählt ist. Dann ist die Lösung, in der Formatvorlage keine Konvertierungsregel auszuwählen.

Viele Grüße aus Dortmund,

  Holger

0 Kudos

Hallo Christoph,

benötigst Du noch weitere Hilfe oder haben Dir Donatos und Holgers Antwort bereits geholfen?

In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere

Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung

gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Michaela

0 Kudos

Der html standard ausgabekanal an sich hat schon die konvertierung der umlaute konfiguriert.

- Meine Abhilfe: Neuer ausgabekanal csv im projekt der als standard nicht mitgeneriert wird sondern einen eigenen scheduler bekommt und einzeln ausgeführt werden kann.

Danke

0 Kudos