WYSIWYG CKEditor config.js ไม่ถูกใช้งาน?


10

ผมได้ติดตั้งและกำหนดค่าWYSIWYGโมดูล (dev ล่าสุด) เพื่อใช้ 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

สิ่งนี้ใช้เวลาวิจัย แต่ฉันพบบทความนี้ซึ่งอธิบายถึงวิธีการทำ

เนื้อหาของบทความเป็น hook ต่อไปนี้ซึ่งกำหนดไฟล์ปรับแต่งเอง:

<?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 ไม่แม้แต่จะกด control-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.