TYPO3 – CKeditor ohne eigene Extension bearbeiten

Nicht jeder hat eine eigene TYPO3 Extension und kann dadurch dann die CKeditor Config anpassen oder erweitern. Daher muss der Ckeditor YAML-Detai-Pfad in eine eigene PHP Datei ausgelagert werden.

Dieser Part muss ins PageTS:

RTE.default.preset = minimal
RTE.config.tt_content.bodytext.preset = default
RTE.config.tx_news_domain_model_news.bodytext.preset = default

Damit gebt Ihr an, welches Format der CKeditor haben soll und wie viele Items/Button usw. angezeigt werden.
Wir können auch unterschiedliche Config´s laden, zum Beispiel: je nach Backend-Baum, dass geht dann mit „preset = default“ ändern in z.B. „preset = test“.
(siehe weiter unten)

Normal könnt Ihr die CKeditor Config in Eurer Extension mit folgenden PHP Code in die ext_localconf.php einbinden:

< ?php
// EXT:my_ext/ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:my_ext/Configuration/RTE/Default.yaml';

Haben wir aber keine eigene TYPO3 Extension, so können wir in dem typo3conf Ordner eine neue Datei anlegen: AdditionalConfiguration.php
Nun können wir dort auch den PHP Code einbinden und die neue Config ohne eigene TYPO3 Extension auslagern.

<?php
// typo3conf/AdditionalConfiguration.php
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'fileadmin/CkEditor/Default.yaml';

// typo3conf/AdditionalConfiguration.php
// zweite CKeditor Config
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['test'] = 'fileadmin/CkEditor/Test.yaml';

Ich versuche in den nächsten Beiträgen mehr auf den CKeditor einzugehen. Muss mich aber dort auch erst einmal zurecht finden, was alles mit der YAML-Config Datei zu machen ist.

Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar

Hat Euch der Artikel weitergeholfen oder gefallen?
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!

Hat Euch der Artikel geholfen oder gefallen?
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste.
Vielen Dank!


Ich bin TYPO3 Freelancer, TYPO3-Entwickler, Web-Entwickler und Frontend-Entwickler. Ich arbeite im und für das Web seit 2004.
Mehr Infos zu der TYPO3 Internet-Agentur INGENIUMDESIGN.

Besucht auch unser TYPO3 Hilfe Forum.

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

5 Kommentare

  1. Selbst wenn man es kann: Warum sollte man eine eigene Extension erstellen, wenn es nicht nötig ist. Eigene Extensions sind oft ein Problem bei Upgrades und brauchen dann Nacharbeiten. Sie können zu Sicherheitsproblemen führen, wenn sie nicht orgendtlich gemacht sind und bereiten schlichtweg Arbeit. Diese Methode, den CKEditor zu konfigurieren, klappt bei mir super. Auch Crop-Variants für den Bildeditor kann man mittlerweile in der Page.ts erstellen. Ich halte das für den richten Weg. Eigene Extensions sind was für individuelle Anwendungsszenarien. Den Alltag kann man ohne sie bezwingen.

  2. c

    Buha! Wieso hat nicht jeder eine eigene Extension? Das ist doch das mittelfristige Ziel des Sitepackages Prinzips … nur so mal hier eingeworfen … 😉

  3. freut mich sehr!
    Ich schaue mir natürlich noch mal Deine Info an! Danke Dir

  4. Hallo Sebastian,
    das hat mir sehr geholfen. Bislang hatte ich dafür eine EXT, mit der ich nicht ganz glücklich war. Ich hätte mir von TYPO3-Seite aus gewünscht, dass die YAML-Datei z.B. über plugin.rte_ckeditor { config = … } oder so zu konfigurieren ist. Aber es gibt viele TYPO3 Funktionen, die eingeführt werden, ohne dass eine Konfiguration vorgesehen ist (z.B. Größenvorgaben bei Crop-Funktion).

    Deine EXT-freie Version ist prima. Ein Hinweis vielleicht noch:
    RTE.default.contentCSS in der Page.ts hat keine Funktion mehr. Das geschieht jetzt in der YAML als

    editor:

    config:

    contentsCss: [„EXT:rte_ckeditor/Resources/Public/Css/contents.css“, „../fileadmin/templates/css/custom_ckeditor.css“]

    Es hat etwas gedauert, bis ich den Pfad zum fileadmin gefunden hatte.

    Danke und Grüße

Next ArticleTYPO3 - Image via typoscript und Datenbank auslesen