Der Editor TinyMCE kann mit einfachen Einträgen in die Datei "app/_config.php" erweitert werden.
Die benötige Klasse "Forms/HTMLEditor" wird nicht geladen in der Standardinstallation.
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig;
Zusätzlich Tools in die Kopfleiste des Editors laden:
- styleselect (zeigt Stile die in editor.css hinterlegt oder importiert werden)
- media (Importdialoge für Youtubevideos)
- hr (Horizontale Linie)
- importcss_append (gliedert die HTML und CSS-Stile unter Formate)
TinyMCEConfig::get('cms')
->addButtonsToLine(1, 'styleselect')
->enablePlugins('media')
->enablePlugins('hr')
->setOption('importcss_append', true);
Vorgefertigtige Farbfelder die "Inline-Styles" erzeugen. Das Array "colorformats" kann beliebige erweitert werden:
$colorformats = [ //define your custom background/foreground colors here
'CD2D32', 'col1',
'7192C9', 'col2',
'DA9A23', 'col3',
'E5E5E5', 'col4',
'A0A0A0', 'col5',
'ffffff', 'colneg',
'000000', 'coltext'
];
TinyMCEConfig::get('cms')->enablePlugins('textcolor');
TinyMCEConfig::get('cms')->insertButtonsBefore('formatselect', 'forecolor backcolor');
TinyMCEConfig::get('cms')->setOptions([
'textcolor_map' => $colorformats
]);
Mit HTMLEditorConfig können zusätzliche Schaltflächen auf beliebige Positionen platziert werden:
use SilverStripe\Forms\HTMLEditor\HtmlEditorConfig;
HtmlEditorConfig::get('cms')->enablePlugins('hr');
HtmlEditorConfig::get('cms')->insertButtonsAfter('underline', 'hr');
HtmlEditorConfig::get('cms')->insertButtonsAfter('hr', 'blockquote');