Personalizing the editor toolbars and buttons

The editor toolbar is flexible and customizable. By default, the system uses different toolbar configurations for different types of content. This helps keep the interface clean. You can also modify the default toolbar sets or prepare your own custom sets.

Standard toolbar sets

Kentico ships with several standard toolbar sets that are used by various applications:

  • Full - used for structured pages.
  • Basic - the simplest toolbar set.
  • Standard/Default - used for simple editing.
  • Wireframe - used when editing certain wireframe components.
  • ProjectManagement - used for project management.
  • BizForm - used for Form application forms.
  • Forum - used for the editor in forums (if enabled).
  • Newsletter - used for email campaigns.
  • Reporting - used for reporting.
  • Invoice - used for invoicing.
  • Group - used for groups.
  • Widgets - used for widgets.

Defining toolbar sets

You can either modify existing toolbar sets or create your own custom toolbar sets.

To define toolbar sets, edit the <web project>\CMS\CMSAdminControls\CKeditor\config.js file.

The following code sample shows a definition of the full toolbar set containing all available buttons. You can create custom toolbar sets by using names of the default buttons, or by adding buttons of custom CKEditor plugins.

Default (Full) toolbar set definition

config.toolbar_Full = [
    [sourceName, '-'],
    ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', 'Scayt', '-'],
    ['Undo', 'Redo', 'Find', 'Replace', 'RemoveFormat', '-'],
    ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-'],
    ['NumberedList', 'BulletedList', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv', '-'],
    ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-'],
    ['InsertLink', 'Unlink', 'Anchor', '-'],
    ['InsertImageOrMedia', 'QuicklyInsertImage', 'Table', 'HorizontalRule', 'SpecialChar', '-'],
    ['InsertForms', 'InsertPolls', 'InsertRating', 'InsertYouTubeVideo', 'InsertWidget', '-'],
    ['Styles', 'Format', 'Font', 'FontSize'],
    ['TextColor', 'BGColor', '-'],
    ['InsertMacro', '-'],
    ['Maximize', 'ShowBlocks']

Each toolbar set definition consists of several arrays representing toolbar groups. For example, the [‘Styles’, ‘Format’, ‘Font’, ‘FontSize’] array represents a group of four buttons.

If you need to insert a line break between the button groups, use the ‘/’ string.

If you want to define your own toolbar set, add a command in the config.toolbar_ToolbarName format to the config.js file.

Important: When you modify the config.js file (or any other file used by the editor), the changes only apply after you clear your browser cache.

After defining a custom toolbar:

  1. Add the custom toolbar to available toolbar sets
  2. Change the toolbar used on pages

Adding custom toolbars to available toolbar sets

To make the toolbar that you defined available on the Page tab of the Pages application in Kentico, you need to add it as an option of the Editable text web part.

  1. Open the Web parts application.

  2. Edit the Editable text web part.

  3. Switch to the Properties tab.

  4. Select the HTMLAreaToolbar field.

  5. Add the new toolbar set to the Data source setting. Enter the ToolbarName from the config.toolbar_ToolbarName command you used in the toolbar definition.

    Adding custom toolbar to the Editable text web part

  6. Save.

The custom toolbar is now available to be selected on a page.

Changing the toolbar set used on a page

To assign a specific toolbar set for editable regions on individual pages:

  1. Open the Pages application.

  2. Select the page on which you want to change the toolbar set.

  3. Switch to Design and Configure the web part for which you want to change the toolbar.

    Configuring a web part

  4. Under Behavior, change the HTML editor toolbar set property values to the name of the desired toolbar set.

    Changing toolbar set in the Editable text web part

  5. Click Save & Close.

Users now see the appropriate toolbar set when editing the content of the page.

Changing the editor toolbar location

By default, the In-line version of editor toolbar is used. In-line toolbar is attached to the text area that users are currently editing. In-line toolbar is visible only when users work with the text area, that is, they click into the area.

In-line editor toolbar displays above or below a text area

You can also switch to the Shared version of the toolbar, which is then visible at the top of the page that users are editing. Shared toolbar is visible at the top of the page at all times.

Shared editor toolbar displays at the top of the page

To switch from an in-line to a shared editor toolbar:

  1. Open the Pages application.

  2. Select the page on which you want to change the toolbar set.

  3. Switch to Design and Configure the web part for which you want to change the toolbar.

  4. Under Behavior, change HTML editor toolbar location to Shared.

    Switching to Shared toolbar

  5. Click Save & Close.

Users now see the toolbar on the location of the shared toolbar.

Toolbar set used for structured pages

If you want to modify a toolbar set used for structured pages (edited on the Form tab), you need to set the Toolbar set property value of individual fields. If you share the toolbar between multiple fields, the first field toolbar set is used.

Configuring visibility of editor buttons

With Kentico, you can show or hide buttons from the integrated editor toolbar. Each button in the toolbar is represented by a UI element.

  1. Open the UI personalization application.
  2. On the Editor tab, select a site and a role.
  3. Browse the UI element tree and select or clear the check boxes that represent the editor buttons.

The system automatically saves the settings as you select or clear check boxes in the UI element tree. The system hides the buttons (UI elements) that have their check box cleared from users in the selected role.

If a user is a member of multiple roles, they’re allowed to see UI elements from all their roles combined.

Toolbar personalization on the live site

Toolbar personalization is disabled by default on the live site. If you wish to apply UI personalization to editor toolbars on the live site, add the following key to the /configuration/appSettings section of your project’s web.config file:

<add key="CKEditor:PersonalizeToolbarOnLiveSite" value="true" />

Once this is done, all UI personalization settings apply to editors on the live site.