WYSIWYG CKEditor config.js không được sử dụng?


10

Tôi đã cài đặt và định cấu hình mô-đun WYSIWYG (nhà phát triển mới nhất) để sử dụng CKEditor và tôi đã tải xuống phiên bản mới nhất của CKEditor (bản phát hành đầy đủ mới nhất) sites/all/libraries. Tôi có thể sử dụng trình chỉnh sửa.

Tôi cần tùy chỉnh một số thứ bổ sung, vì vậy tôi đang áp dụng các thay đổi cấu hình cho config.js sites/all/libraries/ckeditor/config.js. Tuy nhiên, có vẻ như tập tin này thậm chí không được sử dụng hoặc đọc. Tôi đã kiểm tra giả thuyết này bằng cách điều chỉnh cổ phiếu config.jsnhư vậy:

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

alert('World!');

Bất cứ khi nào tôi tải các biên tập viên, tôi mong chờ để có được một hoặc hai cảnh báo, một nói một trong hai Hello!hoặc World!hoặc cả hai. Tuy nhiên, không có cửa sổ cảnh báo được đưa ra.

Làm thế nào để một người tùy chỉnh cấu hình của CKEditor khi sử dụng mô-đun WYSIWYG?

Câu trả lời:


13

Điều này đã mất một số nghiên cứu, nhưng tôi tìm thấy bài viết này mô tả làm thế nào để làm điều đó.

Phần cốt lõi của bài viết là hook sau, định nghĩa tệp cấu hình tùy chỉnh:

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

Điều này làm việc hoàn hảo cho tôi. Vấn đề là bạn yêu cầu một mô-đun tùy chỉnh bổ sung để thực sự cấu hình CKEditor. Khi bạn làm điều này, nó hoạt động tốt và bạn có toàn quyền kiểm soát CKEditor.
Eric Steinborn

Điều này làm việc một phần cho tôi. Không phải tất cả các cài đặt trong ckeditor_custom_config.js đều được vinh danh, nhưng một số cài đặt là. Những người khác làm việc nếu bạn đặt chúng thẳng vào $settingsbiến chức năng mô-đun . Gây nhầm lẫn.
phổ biến

-1

Tôi đã gặp một vấn đề tương tự, và hóa ra CKEditor đang lưu trữ tệp config.js. Thậm chí không nhấn control-F5 sẽ giải quyết điều đó: Tôi phải xóa bộ nhớ cache theo cách thủ công khỏi cài đặt của trình duyệt.

Hy vọng điều này sẽ giúp được ai đó =)


Nó không nên được lưu vào bộ đệm nếu bạn cũng vô hiệu hóa tập hợp các tệp JS /admin/config/development/performancevà xóa bộ nhớ cache của bạn ở đó. Hy vọng điều này sẽ giúp ngăn ai đó tạo 100 tệp khác nhau cho 100 cam kết khác nhau.
Eric Steinborn

-3

Tất cả bạn cần làm là chỉnh sửa /sites/all/modules/ckeditor/ckeditor.config.jsthay vì ckeditor/config.jstập tin.


3
Bạn không nên hack các mô-đun đóng góp. Đặc biệt là không có thông tin xung quanh việc cung cấp một bản vá (nếu đó là một bản sửa lỗi, nhưng đây không phải là.) Drupal.org/node/1054616
Christian

1
Phiên bản WYSIWYG không sống ở đó.
xiếc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.