Search code examples
tinymceepiserver

In TinyMCE 3, how can I remove a field from the table dialog?


We would like to alter the appearance of the "Insert/Edit Table" dialog in TinyMCE. Presently the dialog displays fields which manage attributes that are deprecated in HTML5. For instance, the border attribute is considered obsolete.

Now, I can successfully remove the border attribute from the rendered markup, by extending a technique presented here: http://krompaco.nu/2010/05/alter-default-initoptions-for-tinymce-in-episerver-6/

But the "Insert/Edit Table" dialog still presents a "Border" field when we launch the table dialog from the TinyMCE menu button. The toolbar option for TinyMCE enables programmers to control the actual buttons that get displayed by the editor. https://www.tinymce.com/docs/configure/editor-appearance/#toolbarn

We still want to display the Table button, but want to remove some of the deprecated fields from that dialog. How can we do this?

We are using the EpiServer CMS (versions 8-10) which employs TinyMCE version 3.3.9.3. Thanks for your help.


Solution

  • You could probably use virtualPathMappings. I think they're still supported in CMS8-10.

    This means you have to create a copy of the aspx or ascx file with the dialog in it. Have the file Inherit="" from EPiServer code and change the markup how you want and then add the below configuration in section of web.config:

    <virtualPathMappings>
        <add url="~/yourprefix/CMS/Edit/LinkDialogName.ascx" mappedUrl="~/YourProjectFolder/LinkDialogName.ascx" />
    </virtualPathMappings>
    

    This is a bit of a hack however.