Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Customising the CMS

Customise TinyMCE for one module


Reply

4 Posts   893 Views

Avatar
NickA

27 October 2010 at 10:33am Community Member, 1 Post

I would like to enable a custom TinyMCE plugin / button that is restricted to one module. The documentation , http://doc.silverstripe.org/htmleditorconfig, indicates that this is possible by adding the following to your config

HtmlEditorConfig::get('cms')->enablePlugins('../../tinymce_ssmacron'); // enables plugin
HtmlEditorConfig::get('cms')->insertButtonsAfter('charmap', 'ssmacron');

or by adding to getCMSFields() in your page.

I have tried adding to the module page's getCMSFields() and the module's config with no success. However, it does work if added to the mysite config but, of course, the button then appears on all CMS pages.

Has anyone else done this and, if so, would you be able to let me know what the pitfalls maybe.

Comments on the documentation indicate that it may only work on /mysite/_config.php for some functions.

Avatar
Emelkay

8 December 2011 at 1:04pm Community Member, 2 Posts

Hey NickA,

I'm not completely sure of your use case here but would a conditional statement in the mysite/_config.php file do the trick in this instance?

For example:

// Have to use $_GET['url'] because the Director or SiteTree instance doesn't know where we are yet
// All that we have is a url param that's been set by SilverStripe
if(preg_match('/\/mypageurl/', $_GET['url']))
{
   HtmlEditorField::get('cms')->doWhatever();
}

I'm very new here so apologies in advance if the answer is useless/incorrect :D

Although, doesn't SS offer the ability to add a _config.php file to each module... Did adding it in there still not work?

Avatar
Willr

13 December 2011 at 8:03pm Forum Moderator, 5511 Posts

I did a custom tinymce for the jobboard module.

https://github.com/fullscreeninteractive/silverstripe-jobboard/blob/master/code/Job.php#L94

Hope that helps!

Avatar
Emelkay

13 December 2011 at 8:59pm Community Member, 2 Posts

Ahh nice solution Willr, cheers!