WYSIWYG CKEditor config.js не використовується?


10

Я встановив і налаштував модуль WYSIWYG (останній розробник) для використання CKEditor, і я завантажив останню версію CKEditor (остання повна версія) sites/all/libraries. Я можу користуватися редактором.

Мені потрібно налаштувати кілька додаткових речей, тому я застосовую зміни конфігурації до config.js в sites/all/libraries/ckeditor/config.js. Однак, схоже, цей файл взагалі не використовується і не читається. Я перевірив цю гіпотезу, коригуючи запас config.jsтак:

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

alert('World!');

Всякий раз , коли я завантажую редактор, я б очікувати , щоб отримати один або два попередження, один кажучи , або Hello!чи World!або обох. Однак вікон оповіщення не запускається.

Як можна налаштувати конфігурацію CKEditor при використанні модуля WYSIWYG?

Відповіді:


13

Це потребувало деяких досліджень, але я знайшов цю статтю, яка описує, як це зробити.

М'ясо статті - це наступний гак, який визначає користувацький конфігураційний файл:

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

Це прекрасно працювало для мене. Проблема полягає в тому, що вам потрібен додатковий спеціальний модуль, щоб фактично налаштувати CKEditor. Як тільки ви це зробите, це працює чудово, і ви маєте повний контроль над CKEditor.
Ерік Штейнборн

Це частково працює для мене. Не всі налаштування в ckeditor_custom_config.js шануються, але деякі є. Інші працюють, якщо помістити їх прямо у $settingsзмінну функції модулів . Заплутаний.
commonpike

-1

У мене була подібна проблема, і виявляється, що CKEditor кешував файл config.js. Навіть натискання кнопки control-F5 це не вирішило: мені довелося видалити кеш вручну з налаштувань браузера.

Сподіваюся, це комусь допоможе =)


Він не повинен був кешуватися, якщо ви відключили агрегацію файлів JS /admin/config/development/performanceі очистили кеш-пам'ять. Сподіваємось, це допоможе зупинити когось із створення 100 різних файлів за 100 різних комітетів.
Ерік Штейнборн

-3

Все, що вам потрібно зробити - це редагувати /sites/all/modules/ckeditor/ckeditor.config.jsзамість ckeditor/config.jsфайлу.


3
Ви не повинні зламати модулі внесків. Особливо без інформації про надання виправлення (якщо це виправлення помилок, чого це не так.) Drupal.org/node/1054616
Christian

1
Версія WYSIWYG так і не живе.
circusdei
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.