Hi,
beim Umstieg von Typo3 11 zu 12 wurde auch CKeditor auf die Version 5 aktualisiert. Der von der Typo3 Doku propagandierte Weg CSS einzubinden funktioniert bei mir nicht. Grundsätzlich sind alle aktuellen Projekt composer-basiert. Dieses Problem betrifft alle Typo3 12 Installationen die ich verwalte. Obwohl die Anzahl und Art der Extensions natürlich variiert sind drei immer mit dabei: content_defender, typo3_console und container. contentblocks ist bei allen Projekten aus den letzten Monaten vorhanden. Das nur als Info, ich denke nicht, dass das was mit dem Problem zu tun hat.
Die Konfiguation für CKeditor wird bei meinen Projekten immer über die SiteConfig Extension eingebunden. Alle folgenden Angaben spielen sich demnach in der SiteConfig ab. Bei Multisites mit mehreren Websites innerhalb einer Typo3 Installation hat jede Website eine eigene SiteConfig Extension.
Seit Typo3 12 und CKeditor 5 soll contentsCss wie folgt eingebunden werden:
- Wie immer eine YAML Konfiguration in der ext_localconf.php definieren.
- In der YAML-Config wird via editor.config.contentsCss eine CSS-Datei definiert.
editor:
config:
contentsCss:
- "EXT:extname/Resources/Public/Css/filename.css"
Das funktioniert bei mir nicht. Die CSS-Datei wird zwar laut Inspektor geladen, es ist auch die korrekte Datei mit dem korrektem Inhalt, die Stile werden jedoch fast komplett ignoriert. Alle anderen Konfigurationsoptionen in der YAML-Config funktionieren.
Und sehr merkwürdig ist, dass die Fontdefinition und :root-Anweisungen funktionieren:
@font-face {
font-display: swap;
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
src: url('../Fonts/montserrat-v26-latin-700.woff2') format('woff2');
}
:root {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #000;
}
Laut Typo3 Doku soll die Klasse .ck-content
vorangestellt werden. Bringt nix. Auch die HTML Tags ohne zusätzliche Klassen, z.B. .ck-content p
, werden nicht berücksichtigt.
Das einzige was zuverlässig geht ist wenn die CSS-Datei in der ext_localconf.php global eingebunden wird.
$GLOBALS['TYPO3_CONF_VARS']['BE']['stylesheets']['extname'] = 'EXT:extname/Resources/Public/Css/filename.css';
Dann muss auch .ck-content
vorangestellt werden, aber dann werden alle Stile im Editor auch optisch korrekt übernommen.
Soweit so gut. Nun aber kommt das Problem bei Multisites: Dort kann das so nicht gelöst werden, da das Einbinden über die $GLOBALS['TYPO3_CONF_VARS']['BE']['stylesheets']['extname']
immer global gilt. Ach was, welch eine Überraschung. 😀
Meine Frage ist wenig überraschend: Wie handelt ihr das? Mache ich irgendwo einen Fehler?
Ich bin dankbar für jede Hilfe!
Cheers,
M@