2

CKE 4.4+ でウィジェットのネストが可能になったことを読んで、とても興奮しました。私はこの質問を読んで試してみました - 素晴らしいです。奇妙なことに、CKEditor モジュールを使用している私の Drupal サイトでは動作しません。

だから、私が得たもの:

このモジュールは CDN を使用し、CKE 4.5.1 (//cdn.ckeditor.com/4.5.1/full-all) を配信します。
simplebox プラグインを提供するモジュールをセットアップしました (実際の開発リポジトリの例から取得):

function mymodule_ckeditor_plugin() {
  $plugins = array();
  $plugins['simplebox'] = array(
    'name' => 'simplebox',
    'desc' => t('simplebox Plugin'),
    'path' => drupal_get_path('module', 'mymodule') . '/plugins/simplebox/',
    'buttons' => array(
      'Simplebox' => array('label' => 'Simplebox', 'icon' => 'icons/simplebox.png'),
    )
  );
  return $plugins;
}

有効にするプラグインを提供してくれます:

ここに画像の説明を入力 ここに画像の説明を入力

また、プラグイン ボタンはツールバーで利用できます。 ここに画像の説明を入力

クリックすると、マークアップが作成されます。しかし奇妙なことに、内部にネストされた別のものを追加することはできません。

ここに画像の説明を入力

私が間違っていることはありますか?

4

1 に答える 1

2

Simplebox プラグインをどこから入手したのかよくわかりません。公式の「Creating a Simple CKEditor Widget (Part 2)」ガイドからダウンロードしたと仮定します。

plugins/widget/dev/assets/simplebox/plugin.jsもしそうなら、ガイドに添付されているプラ​​グインとckeditor-devリポジトリにあるプラグインには小さな違いがあることをお伝えしなければなりません。

後者は最新のもので、contentネストされた編集可能ファイル内であらゆる種類のリッチ HTML を有効にします。

editor.widgets.add( 'simplebox', {
    ...
    editables: {
        ...
        content: {
            selector: '.simplebox-content'
        }
    }   
} );

古いものは非常に制限的ですが:

editor.widgets.add( 'simplebox', {
    ...
    editables: {
        ...
        content: {
            selector: '.simplebox-content',
            allowedContent: 'p br ul ol li strong em'
        }
    }   
} );

ネストされた編集可能オブジェクトの定義について詳しくは、 API ドキュメントを参照してください。CKEditor のAdvanced Content Filterの紹介も役立つはずです。

解決策: GitHub リポジトリからsimplebox プラグインをコピーし、ネストされたウィジェットをドラッグ アンド ドロップなどでお楽しみください。または、ネストされた編集可能allowedContentから制限を削除するだけです。content

ご不便をおかけして申し訳ありません。ドキュメントを最新の状態に保つために最善を尽くしていますが、非常に大規模な作業であるため、追いつかない場合があります ;)

于 2015-07-16T13:59:12.313 に答える