WYSIWYG CKEditor config.js non in uso?


10

Ho installato e configurato il modulo WYSIWYG (ultimo sviluppatore) per utilizzare CKEditor e ho scaricato l'ultima versione di CKEditor (ultima versione completa) sites/all/libraries. Sono in grado di utilizzare l'editor.

Devo personalizzare alcune cose aggiuntive, quindi sto applicando le modifiche di configurazione a config.js in sites/all/libraries/ckeditor/config.js. Tuttavia, sembra che questo file non sia nemmeno utilizzato o letto affatto. Ho verificato questa ipotesi regolando lo stock config.jsin questo modo:

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

alert('World!');

Ogni volta che carico l'editor, mi sarei aspettato di ottenere uno o due avvisi, uno dicendo sia Hello!o World!o entrambi. Tuttavia, non viene avviata alcuna finestra di avviso.

Come si personalizza la configurazione di CKEditor quando si utilizza il modulo WYSIWYG?

Risposte:


13

Questo ha richiesto alcune ricerche, ma ho trovato questo articolo che descrive come farlo.

La carne dell'articolo è il seguente hook, che definisce un file di configurazione personalizzato:

<?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';
    }
}

Ha funzionato perfettamente per me. Il problema è che è necessario un modulo personalizzato aggiuntivo per configurare effettivamente CKEditor. Una volta fatto, funziona perfettamente e hai il pieno controllo su CKEditor.
Eric Steinborn,

Questo funziona in parte per me. Non tutte le impostazioni in ckeditor_custom_config.js sono rispettate, ma alcune lo sono. Altri funzionano se li metti direttamente nella $settingsvariabile di funzione dei moduli . Confondere.
commonpike,

-1

Ho avuto un problema simile e si scopre che CKEditor stava memorizzando nella cache il file config.js. Nemmeno premendo control-F5 lo risolverebbe: ho dovuto eliminare manualmente la cache dalle impostazioni del browser.

Spero che questo aiuti qualcuno =)


Non avrebbe dovuto essere memorizzato nella cache se si disabilitava l'aggregazione dei file JS /admin/config/development/performancee si cancellava anche la cache. Spero che questo aiuti a impedire a qualcuno di creare 100 file diversi per 100 commit diversi.
Eric Steinborn,

-3

Tutto quello che devi fare è modificare /sites/all/modules/ckeditor/ckeditor.config.jsinvece del ckeditor/config.jsfile.


3
Non dovresti hackerare i moduli contrib. Soprattutto senza informazioni su come fornire una patch (se si tratta di una correzione di bug, cosa che non è.) Drupal.org/node/1054616
Christian

1
La versione di WYSIWYG non vive comunque lì.
circusdei,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.