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.