Zum Inhalt springen

Überflüssige p-Tags im HTML

Erstellt am 24. Juli 2015 · 2 Antworten · letzte Antwort am 27. Juli 2015

Tags: Inhaltselemente, TYPO3 6.x, Frage

Unbekannter Benutzer ·

Hallo,

ich bin mir nicht sicher ob das hier in die Anfängerabteilung gehört aber ich habe ein Problem mit überflüssigen Tags im HTML.

Ich habe einen eigenen cType angelegt, der eine Liste mit Titeln von Contentelementen die ich im Feld "records" auswähle anzeigt.

tt_content.tablist = COA
tt_content.tablist {
	10 = RECORDS
	10 {
		wrap = <ul class="tabs">|</ul>
		source.field = records
		tables = tt_content,pages,tt_address
		conf {
			tt_content = TEXT
			tt_content {
				value.field = header
				value.override.field = bodytext
				stdWrap
				stdWrap {
					stripHtml = 1
					crop = 20|...
				}
				wrap = <li>|</li>
			}
		}
	}
}

Der erwartete HTML-Code sähe dann wohl so aus:

<ul class="tabs">
	<li>Header 1</li>
	<li>Header 2</li>
	<li>Lorem ipsum Dolor si...</li>
	<li>Header 3</li>
</ul>

Was ich aber erhalte sieht folgendermaßen aus:

<ul class="tabs">
	<p class="bodytext"></p>
	<li>Header 1</li>
	<li>Header 2</li>
	<li><p class="bodytext">Lorem ipsum</p> <p class="bodytext">dolor si...</p></li>
	<li>Header 3</li>
</ul>

Im 3. <li> wird das bodytext-Feld verwendet weil keine Überschrift vorliegt. Über stdWrap.stripHtml = 1 sollte eigentlich jeglicher HTML-Code innerhalb des Elementes entfernt werden.
Was mich aaber noch mehr verwirrt:
Wo kommt der leere Absatz vor dem ersten Listenelement her? Dieses Problem ist mir bereits beim erstellen anderer Menüs aufgefallen. TYPO3 scheint bei Listen gerne mal einen leeren Absatz an scheinbar wilkürlichen Stellen einzubauen.

Hat jemend eine Idee wo das herkommt?

Julian.​Hofmann · · Beste Antwort

Hallo.

Bin mir nicht 100% sicher, aber ich meine, das als Renderobject (bzw. conf) standardmäßig auf das Default-Setup der Tabelle zurückgegriffen wird. Für tt_content wäre es daher die Konfiguration aus CSS styled Content, die für das Feld bodytext jeweils eine parseFunc definiert (die z.B. die RTE zu HTML-Umwandung macht).
Solange Du in Deiner conf keine geerbten Defaulteinstellungen löscht, bleiben sie erhalten.

Helfen sollte, dass Du vor der Neudefinition der Darstellung ersteinmal Defaults löscht:

tt_content.tablist.10.conf.tt_content >
tt_content.tablist.10.conf.tt_content = TEXT
//...

Also bei mir tut TYPO3 nirgends willkürlich p-Tags verstreuen. Vermutlich übersiehst Du Einstellungen, die Dein TypoScript irgendwoher erbt.

Viele Grüße
Julian

Chrissli ·

Wenn sowas bei Inhalten aus dem RTE/bodytext passiert evtl. auch mal dessen Codeansicht aktivieren. Gerne schleichen sich in Fällen von Copy&Paste auch mal Dinge ein, die der RTE beim Parsen zu reparieren versucht.