Drupal CKeditor自定义样式下拉列表

时间:2016-03-07 08:53:40

标签: drupal module ckeditor styles

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

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'
                }
        }
]);

}

3 个答案:

答案 0 :(得分:0)

admin/config/content/ckeditor中,进入您要编辑的个人资料。在CSS下,您应该找到一个名为" Predefined styles"的下拉列表。在此下拉列表中,您应找到一个选项,其中显示"定义ckeditor.styles.js的路径"然后你可以把文件的路径放在它下面的文本框中。

Screenshot of the CKEditor configuration page

注意:我不确定这是否是你的意思

  

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

我把它解释为admin/config/content/ckeditor/editg。如果情况并非如此,请告诉我,我会将答案改为更有帮助。

答案 1 :(得分: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'以填充它。奇怪的。我可能在某个地方做错了什么,但是如果我这样做的话就不明显了。

答案 2 :(得分:0)

我终于解决了样式不起作用的网站的问题。它不是drupal缓存问题,不是主题问题,而是浏览器缓存问题。 作为背景,我可能已经将预定义样式设置为“使用主题ckeditor.styles.js”,然后在我测试设置时在themes目录中实际拥有正确的ckeditor.styles.js文件之前,这也可能搞砸了我的缓存文件 - 因为它无法正确加载编辑器。 我尝试了很多想法,清除drupal缓存,jquery更新版本,......切换回drupal核心主题突然工作,这让我对我的主题感到疑惑。在一个干净的浏览器中测试网站后(你也可以尝试incognoto或私人模式)样式显示...也许这个答案/报告可以节省其他人一些时间......