"Copy/Paste" code en workarounds voor in je eigen projecten
Leer alles over het Silverstripe CMS en Sapphire Framework
Silverstripe wordt geìnstalleerd met De TinyMCE HTML editor, waarmee pagina´s eenvoudig kunnen worden opgemaakt. De standaard selectie knoppen en functies kunnen eenvoudig worden aangepast.
Zo kun je knoppen toevoegen voor extra functionaliteit, of juist weglaten om de editor voor gebruikers te vereenvoudigen. Lees hier hoe je dit kunt doen, zonder de bronbestanden te wijzigen.
TinyMCE heeft een uitgebreide set functies. Bekijk hier alle mogelijkheden van de editor.
Stel dat je de tekstkleur knop wilt toevoegen aan de editor. Om dit te bewerkstellingen, voeg de onderstaande regel toe aan je mysite/_config.php :
HtmlEditorConfig::get('cms')->insertButtonsAfter('formatselect', 'forecolor');
Deze regel zal de tekstkleur knop toevoegen na de opmaak knop.
Onderstaand alle functies om knoppen toe te voegen.
insertButtonsAfter('KnopA', 'KnopB', 'KnopC', 'KnopD')
Dit voegt de knoppen B, C en D toe na knop A.
insertButtonsBefore('KnopA', 'KnopB', 'KnopC', 'KnopD')
Dit voegt de knoppen 2, 3 en 4 toe voor knop A.
addButtonsToLine(1, 'KnopA', 'KnopB')
Dit voegt de knoppen A and B toe aan het einde van regel 1.
setButtonsForLine( 1, 'KnopA', 'KnopB', 'KnopC')
Dit laat alleen de knoppen A, B en C zien op regel 1.
Knoppen verwijderen gaat net zo eenvoudig met bijvoorbeeld de volgende regel:
HtmlEditorConfig::get('cms')->removeButtons('tablecontrols');
Deze regel verwijderd alle tabel knoppen van de editor
removeButtons('KnopA', 'KnopB')
Dit verwijdert de knoppen A en B.
yurigoul | 02/04/2010 2:41pm (3 jaren geleden)
RSS feed van de reacties op deze pagina | RSS-feed voor alle reacties
Ik heb tot nog toe het meeste succes gehad met het toevoegen van de configuratie regels in de mysite/_config.php (maar dat kan iets zijn dat puur met SilverStripe 2.3 van doen heeft, 2.4 heb ikop dat gebied nog niet getest). Wat bij mij gebeurde is dat de nieuwe knoppen wel zichtbaar waren maar na een aantal handelingen vervangen werden door de oorspronkelijke button configuratie. Dat is wel jammer omdat je dan niet zo makkelijk per pagina klasse de html-editor aanpassen kan.
Bij het gebruik van setButonsForLine(): Om links en images toe te voegen via de interface van Silverstripe moet je ssimage en sslink toevoegen.
HtmlEditorConfig::get('cms')->setOption('invalid_elements', 'div,span,@style'); verwijdert gekopieerde stijlen uit andere programma's, voor zover die als style, span of div toegevoegd worden (geen strong of em etc.)
Echter: wees voorzichtig met setOption(valid_elements', 'elements') omdat dat voor problemen kan zorgen (bijvoorbeeld bij het invoegen van links, maar ik voermoed dat ik vergeten ben aan te geven dat ook het href element ingevoegd mag worden).