Search the FirstSpirit Knowledge Base
Hallo Community,
eine kleine Frage, die eventuell mit euren pfiffigen Ideen oder Best-Practices ganz leicht zu lösen ist.
Wir haben im DOM-Editor einen Standardabsatz, dieser erzeugt automatisch einen Absatz als p-Tag.
Format-Template-Code:
<p>$CMS_VALUE(#content)$</p>
Jedoch ist es auch möglich eine Liste innerhalb des DOM-Editors einzufügen. Der resultierende Quelltext ist dann aber:
HTML-Ausgabe-Code: (Firefox 3.6)
<p> </p>
<ul>
<li> </li>
<li> </li>
</ul>
Nun würden wir gern den leeren p-Tag unterdrücken, wenn in "#content" eine Liste enthalten ist. Sicherlich könnten wir auch einfach eine leere Absatzvorlage für Listen anlegen, aber das wäre für die Redakteure weniger komfortabel.
Zur Lösungfindung hab ich mal geschaut, was das #content-Systemobjekt für eine Klasse liefert:
de.espirit.firstspirit.generate.ElementRenderer$ChildPrinter
Leider konnte ich der API dazu keine Informationen entlocken.
Habt ihr vielleicht eine Idee wie man das Problem elegant lösen kann?
Vielen Dank,
Sebastian
Es gibt bereits einen Blogbeitrag zum Thema: CMS_INPUT_DOM - Listoutput without spanning 'p' tags
Es gibt bereits einen Blogbeitrag zum Thema: CMS_INPUT_DOM - Listoutput without spanning 'p' tags
Hallo Herr Feddersen,
leider konnte mir auch der Blogeintrag nicht weiterhelfen.
In der Ausgabe soll bei einem Listenelement gar kein P- Tag ausgegeben werden. Da unsere P-Tags mit einem Margin versehen sind, entsteht dadurch ein unschöner Abstand zwischen einer Überschrift und einer Liste.
Der Resultierende Quellcode mit der Empfehlung aus dem Blog lautet:
<div class="text-bild-absatz">
<h2>Testseite für Listen</h2>
<div class="running_text">
<h3>Überschrift</h3>
<p>Text 123</p>
<p>
</p>
<ul>
<li>Eins</li>
<li>Zwei</li>
<li>Drei</li>
<li>Vier</li>
<li>Fünf</li>
</ul>
</div>
</div>
Ausgabe (FF):
Die letzte Zeile in der "Explanation" sorgt dafür, dass die leeren p Tags entfernt werden.
$CMS_SET(output,startTag + #content + endTag)$$CMS_VALUE(output.replaceAll(startTag+endTag,""))$ --> Eliminates all empty (not needed) tags of the section formattemplate [in the example <p></p>]
Hallo Herr Feddersen,
das hatte ich auch so umgesetzt. Jedoch wurden die p-Tags nicht entfernt, weil ich den Sourcecode formatiert habe. Eine CMS-TRIM Funktion hat das Problem gelöst.
Nun funktioniert alles wunderbar.
Vielen Dank!