Hallo,
kann mir mal jemand verraten wie ich das Attribut style bei der Ausgabe im FE entferne?
Mein Problem ist, dass ich im RTE einen Text als blockquote auszeichne ohne weitere Angaben. Im FE packt mir Typo3 bzw. der RTE (keine Ahnung wer von beiden das reinrendert) die Angabe style="margin-bottom:0;margin-top:0;" mit hinein.
Das will ich aber nicht. Die Frage ist jetzt an welcher Schraube ich drehen muss damit das nicht mehr geschieht.
Du kannst sämtliche Attribute eines Tags, die du nicht haben willst unterbinden, indem du in der RTE Konfiguration die erlaubten Attribute angibst:
RTE.default {
proc {
entryHTMLparser_db = 1
entryHTMLparser_db {
tags {
blockquote.allowedAttribs = id, title, dir, lang, xml:lang, class
blockquote.fixAttrib.style.unset = 1
}
}
exitHTMLparser_db = 1
exitHTMLparser_db {
keepNonMatchedTags = 1
htmlSpecialChars = 0
}
}
}
Mit dem codebeispiel oben wird beim Schreiben in die Datenbank festgelegt, dass nur "id, title, dir, lang, xml:lang, class" für blockquote erlaubt sind und die nächste Zeile entfernt ein eventuell vorhandenes stlye Attribut.
Das funktioniert in der Weise für alle html-Tags.
Danke für den Tipp.
Hat aber leider nichts gebracht.
Habe gerade mal in der Datenbank nachgeschaut. Dort steht in der Tabelle tt_content blockquote ohne style-Attribut drin. Also muss das irgendwo beim Parsen fürs FE hinzugefügt werden. Nur habe ich keine Idee wo ich ansetzen kann um das Problem zu beheben.
Habs inzwischen hinbekommen nachdem ich einen Blick in die Datei typo3/sysext/css_styled_content/static/setup.txt geworfen habe.
Dort steht nämlich (man beachte die letzte Zeile):
lib.parseFunc_RTE < lib.parseFunc
lib.parseFunc_RTE {
// makelinks >
# Processing <table> and <blockquote> blocks separately
externalBlocks = table, blockquote, ol,ul, div
externalBlocks {
# The blockquote content is passed into parseFunc again...
blockquote.stripNL=1
blockquote.callRecursive=1
blockquote.callRecursive.tagStdWrap.HTMLparser = 1
blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"
Also habe ich in meine Seitentemplate die folgende Zeile hinzugefügt:
lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs >
Und siehe da, es funktioniert.
Verstehe zwar momentan nur die Hälfte von dem was die Zeile ggenau bewirkt, aber das Ergebnis passt immerhin.