(note... i'm running the CVS 3.x branch)

In the wysiwyg profile in the section "editor appearance" there is a setting for "Path location". No matter what I set that to, it always displays the path location at the bottom (I've tried both hidden and top).

I also tested the toolbar location and the button alignment settings. The toolbar location /does/ work as it should. But the button alignment settings are also ignored.

Thanks!

Comments

twod’s picture

Status: Active » Closed (won't fix)

The "elementspath" plugin, as the "path" feature is called in CKEditor, seems to be hardcoded to put the path list at the bottom. See ckeditor/_source/plugins/elementspath/plugin.js line 51.
The setting even being on the profile page is a relic from when this module only supported TinyMCE. It will be customized for CKEditor when #313497: Allow configuration of advanced editor settings is fixed for Wysiwyg 3.x (and then possibly backported to 2.x).

I could also not find a way to control the button alignment in ckeditor/_source/plugins/toolbar/plugin.js, which is why that setting does not work.
Same thing with this setting regarding why it's still there.

Unless someone finds an easy way to make these settings work without requiring extra plugins, this is a won't fix as these settings should not really be there and removing them is a part of #313497.

JensH’s picture

Component: Editor - CKeditor » Code

This peace of JavaScript did the trick for me:

$(document).ready(function()
{
    $('#cke_bottom_edit-body').html('');
}
Raf’s picture

Veeeery old post I reply to, but managed to find a way to do this in code, so it can become a setting. I'll see if I can make a patch to make the checkbox work.

Basically, in editors/js/ckeditor-3.0.js, you got this function at the very top:

(function($) {

Drupal.wysiwyg.editor.init.ckeditor = function(settings) {
  // Plugins must only be loaded once. Only the settings from the first format
  // will be used but they're identical anyway.
  var registeredPlugins = {};
  for (var format in settings) {
    if (Drupal.settings.wysiwyg.plugins[format]) {
      // Register native external plugins.
      // Array syntax required; 'native' is a predefined token in JavaScript.
      for (var pluginName in Drupal.settings.wysiwyg.plugins[format]['native']) {
        if (!registeredPlugins[pluginName]) {
          var plugin = Drupal.settings.wysiwyg.plugins[format]['native'][pluginName];
          CKEDITOR.plugins.addExternal(pluginName, plugin.path, plugin.fileName);
          registeredPlugins[pluginName] = true;
        }
      }
      // Register Drupal plugins.
      for (var pluginName in Drupal.settings.wysiwyg.plugins[format].drupal) {
        if (!registeredPlugins[pluginName]) {
          Drupal.wysiwyg.editor.instance.ckeditor.addPlugin(pluginName, Drupal.settings.wysiwyg.plugins[format].drupal[pluginName], Drupal.settings.wysiwyg.plugins.drupal[pluginName]);
          registeredPlugins[pluginName] = true;
        }
      }
    }
  }
};

If you add this line right before the };, it will hide the "path" (and the resize button at the same time. Can't have all in life :P )

CKEDITOR.config.removePlugins = 'elementspath';

So the function'll look like this:

(function($) {

Drupal.wysiwyg.editor.init.ckeditor = function(settings) {
  // Plugins must only be loaded once. Only the settings from the first format
  // will be used but they're identical anyway.
  var registeredPlugins = {};
  for (var format in settings) {
    if (Drupal.settings.wysiwyg.plugins[format]) {
      // Register native external plugins.
      // Array syntax required; 'native' is a predefined token in JavaScript.
      for (var pluginName in Drupal.settings.wysiwyg.plugins[format]['native']) {
        if (!registeredPlugins[pluginName]) {
          var plugin = Drupal.settings.wysiwyg.plugins[format]['native'][pluginName];
          CKEDITOR.plugins.addExternal(pluginName, plugin.path, plugin.fileName);
          registeredPlugins[pluginName] = true;
        }
      }
      // Register Drupal plugins.
      for (var pluginName in Drupal.settings.wysiwyg.plugins[format].drupal) {
        if (!registeredPlugins[pluginName]) {
          Drupal.wysiwyg.editor.instance.ckeditor.addPlugin(pluginName, Drupal.settings.wysiwyg.plugins[format].drupal[pluginName], Drupal.settings.wysiwyg.plugins.drupal[pluginName]);
          registeredPlugins[pluginName] = true;
        }
      }
    }
  }
  CKEDITOR.config.removePlugins = 'elementspath';
};

What's left to do, is getting the settings from the config. screen, pass it onto that JS file, and put that final line in an if statement that checks the setting.