WYSIWYG CKEditor config.js가 사용되지 않습니까?


10

CKEditor를 사용 하도록 WYSIWYG 모듈 (최신 개발자)을 설치 및 구성했으며 최신 버전의 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!또는 둘 다. 그러나 경고 창이 시작되지 않습니다.

WYSIWYG 모듈을 사용할 때 CKEditor의 구성을 어떻게 사용자 정의합니까?

답변:


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를 완전히 제어 할 수 있습니다.
Eric Steinborn

이것은 부분적으로 작동합니다. ckeditor_custom_config.js의 모든 설정이 적용되는 것은 아니지만 일부는 적용됩니다. 모듈 함수 $settings변수에 바로 넣으면 다른 것이 작동 합니다. 혼란스러운.
commonpike

-1

비슷한 문제가 있었고 CKEditor가 config.js 파일을 캐싱하고있는 것으로 나타났습니다. Ctrl-F5를 눌러도 해결되지 않습니다. 브라우저 설정에서 캐시를 수동으로 삭제해야했습니다.

희망이 누군가를 도울 것입니다 =)


JS 파일의 집계를 비활성화 /admin/config/development/performance하고 캐시를 지우면 캐시 되지 않아야 합니다. 이것은 100 개의 다른 커밋에 대해 100 개의 다른 파일을 만드는 것을 막는 데 도움이되기를 바랍니다.
Eric Steinborn

-3

파일 /sites/all/modules/ckeditor/ckeditor.config.js대신 편집하기 만하면 됩니다 ckeditor/config.js.


3
contrib 모듈을 해킹해서는 안됩니다. 특히 패치 제공에 대한 정보가없는 경우 (버그 수정 인 경우에는 그렇지 않습니다.) drupal.org/node/1054616
Christian

1
어쨌든 WYSIWYG 버전은 존재하지 않습니다.
circusdei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.