Mehrere Presets für CKeditor verwenden

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

RTE-Felder: Höhe, Breite u.v.a.m. vorkonfigurieren

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');

Im pageTSconfig kann dann der RTE vorkonfiguriert werden. Zum Beispiel mit:

RTE.config.tx_meineextension_tabelle.shortdescription.RTEHeightOverride = 140

Quellen:

  1. Höhe und Breite für den RTE (als PDF-Backup)

Variablen im Bodytext

Eben beim TYPO3 Blogger gefunden und meiner Meinung nach hilfreich:

Folgende Zeile ins TS-Setup:

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}

Ein Dank an den TYPO3 Blogger: http://typo3blogger.de/variablen-im-bodytext/