2016-03-07 113 views
0

我正在使用Drupal 7.43和ckeditor版本4.我想更改自定义样式下拉列表,因此我将ckeditor.styles.js文件复制到我的主题根目录中。在配置(drupal模块)中,我选择从主题目录使用此文件,但下拉列表为空。此文件的自定义路径也不起作用。在这里我更改了ckeditor.styles.js文件。使用默认降价时,下拉菜单仍为空。有没有我错过的配置步骤?Drupal CKeditor自定义样式下拉

if(typeof(CKEDITOR) !== 'undefined') { 
CKEDITOR.addStylesSet('drupal', 
[ 
     /* Block Styles */ 

     { name : 'interner Link'  , element : 'a', styles : { 'color' : '#004684' } }, 
     { name : 'externer Link'  , element : 'a', styles : { 'color' : '#004684' } }, 
     { name : 'E-Mail'  , element : 'a', styles : { 'color' : '#004684' } }, 
     { name : 'Download'  , element : 'a', styles : { 'color' : '#004684' } }, 

     /* Inline Styles */ 

     /* Object Styles */ 

     { 
       name : 'left Image', 
       element : 'img', 
       attributes : 
       { 
         'style' : 'padding: 5px; margin-right: 5px', 
         'border' : '2', 
         'align' : 'left' 
       } 
     }, 

     { 
       name : 'right Image', 
       element : 'img', 
       attributes : 
       { 
         'style' : 'padding: 5px; margin-left: 5px', 
         'border' : '2', 
         'align' : 'right' 
       } 
     } 
]); 

}

回答

0

realpenx,我也对此感到震惊。

在您的自定义styles.js文件中,即使您使用config.styleSet =“your_custom_styleset”,样式集也需要命名为'drupal'以便ckeditor进行拾取。

对于那些可能遇到类似问题的人,我会详细说明。我的设置如下:Ckeditor被设置为从主题路径加载ckeditor.config.js。在该文件中,我有以下几点:

CKEDITOR.editorConfig = function(config) { config.styleSet = "my_custom_styleset"; } 

我定义的路径在CKEDITOR模块设置我的ckeditor.styles.js路径和文件中我有:

CKEDITOR.stylesSet.add('my_custom_styleset', [ 
    // some styles 
]); 

我的风格下拉列表是空的并变灰。我必须将'my_custom_styleset'更改为'drupal'才能填充它。奇怪的。我可能在某处做错了什么,但是如果我真的不明显。

+0

谢谢 - 我需要将您的答案标记为解决方案,因为在我的空白drupal安装中它现在可以工作。但在我目前的项目中并没有。我一步一步地禁用了模块,但我无法弄清楚什么是错的。当我开始我的下一个项目时,当我发现什么是错误的时候,我会对它做些补充,我会补充它。希望drupal 8将提供更好的编辑器解决方案 - 它在7中非常糟糕。 – ReAlPeNx

+0

我可以报告我在我的一个安装中看到了同样的问题 - 我目前能够识别的是我必须是我在那里使用的主题。切换到其中一个Drupal核心主题,它完美地拿起它的配置ckeditor.styles.js文件从那里... –

+0

此外,我不知道是否我会标记上面的答案是正确的,因为它是误导为了这个问题。在你的原始文章中,你清楚地表明你的StyleSet被称为'drupal' - 所以这不是你的情况。我也非常认为这是一个主题冲突。 –

0

admin/config/content/ckeditor进入要编辑的配置文件。在CSS下,您应该找到一个名为“预定义样式”的下拉菜单。在此下拉列表中,您应该找到一个选项,其中显示“定义到ckeditor.styles.js的路径”,然后您可以将文件的路径置于其下方的文本框中。

Screenshot of the CKEditor configuration page

注:我不知道,如果这是你的

的意思“在配置(Drupal的模块),我选择使用从主题目录此文件,但下拉列表是空的。此文件的自定义路径也不起作用。“

我将其解释为admin/config/content/ckeditor/editg。如果情况并非如此,请告诉我,我会将我的答案改为更有用的东西。

+0

感谢您的回答。我在我的帖子之前也尝试了您的解决方案似乎该文件被找到,但标记是错误的 - 但我不确定。我在编辑器目录中更改了基本文件,下拉列表也是空的。所以我认为这不是一个路径问题。我认为我已经用尽了ckeditor的基本配置可能性。也许这是jQuery版本的问题。但控制台中没有任何错误。 – ReAlPeNx

0

我终于解决了风格不起作用的网站的问题。这不是一个drupal缓存问题,不是一个主题问题,而是一个浏览器缓存问题。 作为背景,我可能已将预定义样式设置为“使用主题ckeditor.styles.js”,然后在我测试设置时真正在主题目录中创建了正确的ckeditor.styles.js文件,该设置可能已被搞乱还有我的缓存文件 - 因为它无法正确加载编辑器。 我试过很多想法,我碰到了,清理drupal缓存,jquery更新版本,...切换回drupal核心主题突然工作,这让我想知道我的主题。在一个干净的浏览器(你也可以尝试incognoto或私人模式)测试网站后,风格显示...也许这个答案/报告可以节省别人一些时间...