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!');

私はエディタをロードするたびに、私は、1つまたは2つのアラート、1はどちらかと言ってもらうことを期待する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、2015

これは部分的に私のために働きます。ckeditor_custom_config.jsのすべての設定が有効であるとは限りませんが、一部は有効です。他の関数は、モジュール関数$settings変数に直接入れれば機能します。混乱しています。
commonpike 2017

-1

同様の問題があり、CKEditorがconfig.jsファイルをキャッシュしていたことがわかりました。control-F5を押しても解決しません。ブラウザの設定から手動でキャッシュを削除する必要がありました。

これが誰かを助けることを願っています=)


JSファイルの集約を無効に/admin/config/development/performanceし、キャッシュもクリアした場合は、キャッシュされるべきではありませんでした。これにより、誰かが100種類のコミットに対して100種類のファイルを作成するのを防ぐのに役立つことを願っています。
Eric Steinborn、2015

-3

ファイルの/sites/all/modules/ckeditor/ckeditor.config.js代わりに編集するだけckeditor/config.jsです。


3
contribモジュールをハッキングしてはいけません。特に、パッチの提供に関する情報がない場合(バグの修正である場合は、そうではありません)。drupal.org/node/1054616
Christian

1
とにかくWYSIWYGバージョンはそこにはありません。
circusdei 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.