1

I'm trying to add placeholder text to my ckeditor screen like for example Type here ... . You can do this with the configuration helper plugin.

I've placed the ckeditor library in sites/all/libries. I've pasted the plugin in sites/all/libraries/ckeditor/plugins. Then I've added the following code to my config.js (in ckeditor folder).

CKEDITOR.editorConfig = function( config ) {
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
    config.extraPlugins='confighelper'; 
    config.placeholder = 'Type here...';
};

But this doesn't work. The config.js isn't added to my page when there's a ckeditor. The code is also not in ckeditor.js (which is loaded on the page, I thought that the plugin maybe added it to the file).

I've also tried to add the code to my script.js which is always loaded like this:

(function ($, Drupal, window, document, undefined) {
    Drupal.behaviors.my_custom_behavior = {
      attach: function(context, settings) {
        CKEDITOR.editorConfig = function( config ) {
          // Define changes to default configuration here. For example:
          // config.language = 'fr';
          // config.uiColor = '#AADC6E';
          config.extraPlugins='confighelper';
          config.placeholder = 'Type here...';
        };
      }
    };
})(jQuery, Drupal, this, this.document);

But still no result... . I'm using CKEditor 4.4.2.1567b48 . Text format is filtered html. The ckeditor works but I can't add any plugins (I would also like youtube plugin). Also cleared my cache a couple of times.

Am I doing something wrong?

0

I'm assuming you are using wysiwyg with ckeditor.

The problem is that wysiwyg pass the configuration to the editor, in our case ckeditor, based on the options selected on the wysiwyg profile in use.

The solution i found sure it's not the best buts works for me. It's about modifying the wysiwyg file thats sets the configuration for ckeditor.

Open site/all/modules/wysiwyg/editors/ckeditor.inc and find the function wysiwyg_ckeditor_settings, then, before the code implode the $extra_plugins array add your extra plugins.

before:

if (!empty($extra_plugins)) {
  $settings['extraPlugins'] = implode(',', $extra_plugins);
}

add:

$extra_plugins[] = 'confighelper';

result:

$extra_plugins[] = 'confighelper';
if (!empty($extra_plugins)) {
  $settings['extraPlugins'] = implode(',', $extra_plugins);
}

Hope it helps.

0

A solution that avoids patching the wysiwyg module is the following:

You can use the hook hook_wysiwyg_plugin($editor, $version) that wysiwyg offers, in order to add the ckeditor plugin, as follows:

function custom_wysiwyg_plugin($editor, $version) {
  $plugins = array();
  switch ($editor) {
    case 'ckeditor':
      $plugins['confighelper'] = array(
        'extensions' => array('confighelper' => t('Configuration Helper')),
        'url' => 'http://ckeditor.com/addon/confighelper',
        'load' => TRUE,
        'internal' => TRUE,
      );
      break;
  }
  return $plugins;
}

Then, go to the wysiwig profile edit page and enable the Configuration Helper plugin.

After that, placeholder text will be shown in the wysiwyg ckeditor.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.