web-dev-qa-db-fra.com

WYSIWYG CKEditor config.js n'est pas utilisé?

J'ai installé et configuré le module WYSIWYG (dernier développeur) pour utiliser CKEditor, et j'ai téléchargé la dernière version de CKEditor (dernière version complète) sur sites/all/libraries. Je peux utiliser l'éditeur.

J'ai besoin de personnaliser quelques éléments supplémentaires, donc j'applique les modifications de configuration à config.js dans sites/all/libraries/ckeditor/config.js. Cependant, il semble que ce fichier ne soit même pas utilisé ou lu du tout. J'ai testé cette hypothèse en ajustant le stock config.js comme suit:

CKEDITOR.editorConfig = function( config ) {
    // Define changes to default configuration here. For example:
    config.allowedContent = true;
    alert('Hello!');
};

alert('World!');

Chaque fois que je charge l'éditeur, je m'attends à recevoir une ou deux alertes, l'une indiquant soit Hello! ou World! ou les deux. Cependant, aucune fenêtre d'alerte n'est lancée.

Comment personnaliser la configuration de CKEditor lors de l'utilisation du module WYSIWYG?

10
Lester Peabody

Cela a pris quelques recherches, mais j'ai trouvé cet article qui décrit comment le faire.

La viande de l'article est le crochet suivant, qui définit un fichier de configuration personnalisé:

<?php
/**
 * Implements hook_wysiwyg_editor_settings_alter()
 */
function MODULENAME_wysiwyg_editor_settings_alter(&$settings, $context)
{
    // The $context variable contains information about the wysiwyg profile we're using
    // In this case we just need to check that the editor being used is ckeditor
    if ($context['profile']->editor == 'ckeditor')
    {

        // The $settings variable contains all the config options ckeditor uses. 
        // The array keys correspond directly with any setting that can be applied 
        // to CKEditor - as outlined in the CKEditor docs: 
        // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html 
        // Another way to override configuration is to use your own configuration javascript
        // file. In this case, we're going to add our own configuration file that will
        // Hold our stylesSet customizations... 
        $settings['customConfig'] = base_path() . drupal_get_path('module', 'MODULENAME') . '/ckeditor_custom_config.js';
    }
}
13
Scott Joudry