Listen und Tabellen im DOM als Blockelement behandeln

Hallo,

da ja nun die 5.0 vor der Tür steht, schlage ich mal ein Feature vor, das mir schon lange auf der Seele brennt. Und zwar geht es um die Verwendung von Listen und Tabellen im DOM Editor. Wenn man diese erstellt, werden sie im Zusammenhang mit dem Standardabsatz (Formatvorlage "p") immer in <p>-Tags eingebettet (also wie Inline-Elemente behandelt). Zum Beispiel so:

<p>

  <ul>

    <li>Eine Liste</li>

    <li>mit eins, zwei,</li>

    <li>drei Elementen</li>

  </ul>

  und evtl. noch irgendwas dahinter

</p>

<p>

  <table>

    <tr>

      <td>Gleiches</td>

      <td>gilt auch</td>

    </tr>

    <tr>

      <td>für eingebundene</td>

      <td>Tabellen</td>

    </tr>

  </table>

</p>

Dies ist aber kein valides HTML und man muss sich zur Entfernung der umschließenden <p>-Tags immer mit Konstruktionen dieser oder ähnlicher Art behelfen:

$CMS_VALUE(stDom.toText(false).trim.replaceAll("<p><ul>","<ul>").replaceAll("</ul></p>","</ul>")...usw.)$

Dies ist aber nicht nur unschön, sondern auch noch fehleranfällig. Dabei wäre die Lösung so einfach:

Liebes e-Spirit Entwicklerteam, könnt Ihr die vorgegebenen Vorlagen "ul" und "table" nicht einfach als "Absatz" markieren:

Leider kann man das nicht ändern, aber es sollte doch ein Leichtes sein, diese Vorlagen als Blockelemente zu behandeln, so dass sie nicht in andere Blockelemente (wie <p>) geschachtelt werden. Dann wäre einfacher, mit FS valides HTML zu erzeugen.

Vielen Dank schon mal 😉

Gruß

Matthias

Tags (1)
7 Comments
matthiasforberg
Occasional Collector

Leider ist das eingefügte Bild abhanden gekommen. Zur Unterstützung meiner Aussage hier noch ein Bildchen, damit klar ist, was ich mit "Absatz" meine:Liste.png

matthiasforberg
Occasional Collector

Oh, ich habe grad gesehen, dass es schon eine Idee zu dem Thema gibt:

Output of DomElement in valid HTML without surrounding &lt;p&gt; for lists and tables

Die hat schon mehr Punkte, deswegen erwähne ich sie hier mal. Die Beschreibung hier ist aber glaub ich ausführlicher 😉

matthiasforberg
Occasional Collector

Hallo e-Spirit, wie ist denn hier der Stand? Kann das umgesetzt werden? Technisch sollte das ja kein großes Problem sein. Ist nur die Frage, ob das abwärtskompatibel bleibt...

ACordes
I'm new here

Ich wäre auch sehr interessiert daran, valides HTML zu erzeugen.

Gibt es hierzu noch Feedback?

Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Internal id: 154163

mmarm
Crownpeak employee
Crownpeak employee

Oben steht "planned for FirstSpirit 5.2". Wir sind jetzt ja schon einige Unterversionen in 5.2, wie ist denn der aktuelle Stand?

Ist gerade wieder mal als (unnötiger?!) Aufwandsproduzent im Projekt aufgekommen...

feddersen
Community Manager
Community Manager

Hallo Matthias,

du kannst auf einem CMS_INPUT_DOM nun die Methode "normalize" aufrufen. Diese sorgt dafür, dass das HTML gültig wird. Die leeren p-Tags werden damit entfernt. Das ist verfügbar seit 5.1.300+.