

tags in RTE-Listen oder -überschriften
Problem:
Hat man css_styled_content installiert und verwendet den RTE, so wird als transformation filter ts_css ausgewählt (im TCA). Das ist prinzipiell kein Problem, aber leider werden dann die proc-Optionen, die man in der TSConfig einstellen kann (z.B: allowTags) nicht verwenden, da diese nur für ts_transform (oder ts) gelten. Vor allem werden font-Tags beim Import aus Word innerhalb von p- oder div-tags entfernt, nicht aber aus Listen.
Lösung:
- Man kann proc.overruleMode = ts_transform einstellen und damit die proc-Optionen ansprechbar machen. Da css_styled_content aber nur parseFunc.tags.links besitzt, werden die Listen dann aber nicht richtig geparst. Für dieses Problem gibt es zwei Lösungen:
- Im TSSetup parseFunc.tags.typolist definieren und dadurch die Listen parsen.
- im TSConfig proc.typolist = 0 einstellen, dadurch werden die Listen auch in der Datenbank als ul/ol gespeichert.
- proc.overruleMode = ts_transform,css_transform
Schriftformatierungen verhindern
Vor allem bei Copy-Paste von Word-Dateien passiert es immer wieder, dass font-Tags in den RTE übertragen werden. Man kann verhindern, dass diese Tags akzeptiert werden.
Im TSConfig:
RTE.default.proc.denyTags=font
Verschachtelte Listen zulassen
Hierfür muss zunächst in der TSConfig das typolist-Parsing ausgeschaltet werden:
RTE.default.proc.typolist=0
Der Parser wird deshalb allerdings ohne RTE den tag <typolist> auch nicht mehr verstehen, d.h. man muss die normalen HTML-Tags (<ol> oder <ul>) verwenden.
Außerdem muss man nach der Liste eine Leerzeile einfügen, sonst fehlt ein <p>.
RTE-Konfiguration in eigener Extension
Wenn man eine eigene Extension mit dem Kickstarter geschrieben hat, möchte man manchmal, dass sich die RTE-Felder genauso verhalten, wie z.B. die tt_content-Felder.
Im Template (setup):
plugin.tx_deineextension_pi {
general_stdWrap.parseFunc < tt_content.text.20.parseFunc
}
im php-script:
$ausgabe = $this->formatStr($variableMitDeinemFeldDrin);
function formatStr($str) {
if (is_array($this->conf["general_stdWrap."])) {
$str = $this->cObj->stdWrap($str,$this->conf["general_stdWrap."]);
}
return $str;
}


