Um für ein Inputfeld ein von der Standardvorlage abweichendes RTE Preset zu verwenden, muss man wie folgt vorgehen:
Zunächst wird das Preset als .yaml Datei im Verzeichnis Configuration/RTE/
angelegt (in diesem Beispiel Custom.yaml). Hier kann als Vorlage zunächst die Default.yaml kopiert werden.
In ext_localconf.php wird nun eine Bezeichnung für das neue Preset definiert:
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] = 'EXT:vendor_namespace/Configuration/RTE/Custom.yaml';
Um dieses Preset per TCA einem Inputfeld zuweisen zu können, muss in der RTE.tsconfig unter Configuration/TsConfig/Page/
die eben gewählte Bezeichnung einem im TCA verfügbaren Wert zugeordnet werden:
RTE {
custom {
preset = custom
}
}
Sollte hier die Standardvorlage per default gesetzt sein, muss diese zwingend entfernet werden, da zusätzlich angelegte Presets sonst ignoriert werden.
Die Standardvorlage muss dann stattdessen ebenfalls über die ext_localconf.php gesetzt werden:
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:vendor_namespace/Configuration/RTE/Default.yaml'
Zuletzt muss dem Inputfeld im Bereich config das eben definierte Preset zugewiesen werden:
'config' => [
'richtextConfiguration' => 'custom'
],
Das neue Preset kann jetzt nach Belieben bearbeitet werden, eine Liste der konfigurierbaren Optionen findet man hier: https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html
Typischer Fall bei eigenen Datenbankrecords: es ist eigentlich nur ein kurzes zwei-/dreizeiliger Text vorgesehen, aber es sollten Links, Fettschrift usw. möglich sein. Nun steht man vor der Enstcheidung: Plaintext-Feld oder großen, üppigen RTE. Im standardmäßgen RTE-Feld gehen die zwei Zeilen Text fast unter, und das Feld „blockiert“ viel Platz im BE-Formular. Die Anordnung wirkt zerrissen,…
Auf ganz einfache Weise lässt sich das bereits beim Erstellen der Extension beeinflussen: pageTSconfig.txt anlegen und einbinden in der ext_localconf.php via:
t3lib_extMgm::addPageTSConfig('FILE:EXT:meine_extension/pageTSconfig.txt'); |
t3lib_extMgm::addPageTSConfig('FILE:EXT:meine_extension/pageTSconfig.txt');
Im pageTSconfig kann dann der RTE vorkonfiguriert werden. Zum Beispiel mit:
RTE.config.tx_meineextension_tabelle.shortdescription.RTEHeightOverride = 140 |
RTE.config.tx_meineextension_tabelle.shortdescription.RTEHeightOverride = 140
Quellen:
- Höhe und Breite für den RTE (als PDF-Backup)
Eben beim TYPO3 Blogger gefunden und meiner Meinung nach hilfreich:
Folgende Zeile ins TS-Setup:
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.innerStdWrap_all.insertData = 1 |
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.innerStdWrap_all.insertData = 1
Nun funktionieren Variablen im RTE…
Beispiel:
Hallo {TSFE:fe_user|user|name}, du bist gerade als {TSFE:fe_user|user|username} angemeldet.
Du befindest Dich auf der Seite mit der PageID: {PAGE:uid} |
Hallo {TSFE:fe_user|user|name}, du bist gerade als {TSFE:fe_user|user|username} angemeldet.
Du befindest Dich auf der Seite mit der PageID: {PAGE:uid}
Ein Dank an den TYPO3 Blogger: http://typo3blogger.de/variablen-im-bodytext/