suit: Typo3 (überschreiben der css_styled_content Konfigurationsdatei)

Beitrag lesen

1.)
Welchen Sinn hat die zweite Zeile? Trotz testen komme ich leider nichtmehr drauf.

encapsLines sind Elemente die "Zeilen" einschließen können. Üblicherweise <p />-Elemente

In der Standardkonfiguration sorgt TYPO3 dafür (bzw die RTE-Erweiterung), dass <address /> von <p />-Elementen eingeschlossen wird - was natürlich nicht sein darf.

Mit dieser Zeile fügst du das <address />-Element der Liste der "ich kann eine Zeile einschließen"-Elemente hinzu. Irgendwo gibts noch einen Switch der besagt, dass bereits eingeschlossene "Zeilen" nicht mehr erneut umschlossen werden.

2.)
Welchen Sinn hat die Zeile 3 bzw. woher warum muß ich HTMLparser auf 1 setzen. Wie kommt man überhaupt darauf?

das wird üblicherweise nur gebraucht wenn du den HTMLparser einschalten willst, wo er normalerweise nicht läuft - z.B. wenn du ihn auf die stdWrap-Eigenschaft anwendest

3.)
Die grobe Bedeutung von den Zeilen 4-6 ist mir klar. Die Schalftflächen B bzw. I des RTE werden auf strong bzw. em gemappt, so dass semantisch einwandfreier Code von der Extension css_styled_content erstellt wird. Ich kann allerdings leider nichtmehr nachvollziehen wie ich auf diese Zeilen gekommen bin. der ganze Kram ist ja leider nicht in der TScript-Referenz zu finden. Könnt ihr mir hier nochmal auf die Sprünge helfen?

Folgendes ins TypoScript-Setup:

class="bodytext" in den <p />-Elementen entfernen

lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class >

<p />-Elemente aus Tabellen entfernen

lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default >
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc =< lib.parseFunc

Verhindern, dass Block-Elemente in <p />-Elemente gewrappt werden

lib.parseFunc_RTE.externalBlocks = hr,ul,ol,table,address
lib.parseFunc_RTE {
externalBlocks.address {
stripNL = 1
stdWrap.parseFunc = < lib.parseFunc
}
}

Und das hier ins TSConfig der Wurzelseite

Das stellt das eigentliche remapping von i -> em bzw b -> strong dar. Wichtig ist dass man für sowas nur den Exit-Parser verwendet, die Daten in der Datenbank sollen brav so bleiben wie sie der RTE schreibt.

RTE.default {
proc {
exitHTMLparser_db = 1
exitHTMLparser_db {
tags.b.remap = strong
tags.i.remap = em
}
}
}

Prinzipiell hab' ich nicht viel mehr zur Codebereinigung im einsatz - ausser natürlich ein etwas modifiziertes css_styled_content damit nicht so viel Schrott-Code (aka div-Suppe) daherkommt, den keiner braucht.