Jannis
I'm new here

Keine leeren Tags aus DOM-Editor

Jump to solution

Hallo liebe Community,

Gibt es eine Möglichkeit dem DOM-Editor irgendwie zu sagen, wie er HTML Rendern soll?

Folgende Regeln hätte ich gerne:

  • Keine Leerzeichen nach Öffnendem Tag (<p> Hallo)
  • Keine Leerzeichen vor schließendem Tag (Hallo </p>)
  • Kein <br /> vor schließendem Tag (Hallo<br /></p>)
  • Keine leeren Tags (<p>Erster Absatz</p><p></p><p></p><p>Vierter Absatz</p>)

Dazu hatte ich mal versuch den inhalt des Doms in einen String umzuwandeln und Tags rauszuparsen, aber dann gingen die ganzen Links im Text nicht mehr etc... Da muss es doch noch ne andere Möglichkeit geben.

Im Einsatz ist FS4.2R4 und wie gesagt das Formularfeld ist ein DOM_EDITOR.

Vielen Dank für Eure Anregungen

0 Kudos
1 Solution

Accepted Solutions
Jannis
I'm new here

Hallo Holger,

danke für die Info. Wir haben die "Absatz" Einstellung verwendet, sodass um Listen keine p gerendert werden, da sie so vom Editor als vollwertiger Absatz angesehen werden.

Aber das hat mich darauf gebracht einfach die Formatvorlage von <p> zu ändern:

$CMS_SET(text,#content.toString.trim())$

$CMS_IF(text.length() > 6 && "<br />".equals(text.substring(0,6)))$
     $CMS_SET(text,text.substring(6).trim())$
$CMS_END_IF$

$CMS_IF(text.length() > 6 && text.endsWith("<br />"))$
     $CMS_SET(text,text.substring(0,text.length()-6).trim())$
$CMS_END_IF$

$CMS_IF(!text.isEmpty())$
     

$CMS_VALUE(text)$</p>$CMS_END_IF$

Jetzt funktioniert es wie gewünscht!

View solution in original post

0 Kudos
3 Replies
hoebbel
Crownpeak employee

Hallo Jannis,

ein Anfang wäre schonmal

CMS_INPUT_DOM - Listoutput without spanning 'p' tags

Damit bekommst Du u.a. die leeren p Tags weg.

Viele Grüsse aus Dortmund,

  Holger

Jannis
I'm new here

Hallo Holger,

danke für die Info. Wir haben die "Absatz" Einstellung verwendet, sodass um Listen keine p gerendert werden, da sie so vom Editor als vollwertiger Absatz angesehen werden.

Aber das hat mich darauf gebracht einfach die Formatvorlage von <p> zu ändern:

$CMS_SET(text,#content.toString.trim())$

$CMS_IF(text.length() > 6 && "<br />".equals(text.substring(0,6)))$
     $CMS_SET(text,text.substring(6).trim())$
$CMS_END_IF$

$CMS_IF(text.length() > 6 && text.endsWith("<br />"))$
     $CMS_SET(text,text.substring(0,text.length()-6).trim())$
$CMS_END_IF$

$CMS_IF(!text.isEmpty())$
     

$CMS_VALUE(text)$</p>$CMS_END_IF$

Jetzt funktioniert es wie gewünscht!

0 Kudos
0 Kudos