web-dev-qa-db-ja.com

CKEDitorは、構成の例外を除いて、クラス名を削除します

HTMLビューとリッチテキストビューを切り替えると、CKEditorがクラス名を削除しているようです。

ウェブ全体の多くの提案に従って、config.jsファイルに以下を追加しました。

config.allowedContent = true;

アップロードしてキャッシュをクリアし、JSファイルに直接行って、私のマシンにキャッシュされていないことを確認しましたが、それでもクラスを削除しています。

別の解決策はありますか?

17
Francesca

「管理>>設定>> CKEditor」に移動します。 Profilesでプロファイルを選択します(例Full)。

そのプロファイルを編集し、「詳細オプション>>カスタムJavaScript設定」にconfig.allowedContent = true;を追加します。

snapshot

「パフォーマンス」タブでキャッシュをフラッシュすることを忘れないでください。

18
user19497

構成> CKEditorでプロファイル全体を編集します

enter image description here

Advanced Content Filterセクションを開き、Disabledを選択します。 enter image description here

[追加許可コンテンツ]フィールドに何も追加する必要はありません。 config.jsを変更する必要はありません。 [...このように私は何時間も理解するのにかかっていません]

7
Steve

この問題は、 CKeditor 4.1 ACF の一部として、dev(公開時は7.x-2.3)で解決されています。 WYSIWYGをアップグレードするか、以下の回避策を試してください。


Drupal 7では、次のフックを試すことができます。

<?php
/**
 * Implements hook_wysiwyg_editor_settings_alter().
 */
function MYMODULE_wysiwyg_editor_settings_alter(&$settings, $context) {
  if ($context['profile']->editor == 'ckeditor') {
    $settings['allowedContent'] = TRUE;
  }
}
?>

または他のアイデアを使用して:

<?php
/**
 * Implements hook_wysiwyg_editor_settings_alter().
 */
function MYMODULE_wysiwyg_editor_settings_alter(&$settings, $context) {
  if ($context['profile']->editor == 'ckeditor') {
      $settings['extraAllowedContent'] = array(
        'img[src,title,alt,style,width,height,class,hspace,vspace,view_mode,format,fid]',
      );
  }
}
?>

または、次のjQueryコードを使用します。

CKEDITOR.replace( textarea_id, {
    allowedContent: true
} );

関連:

1
kenorb

コマンドに行き、wysiwygを完全に無効にします。

基本的なHTMLおよびCSSの記述方法がわかっている場合、つまりクライアントではない場合は、プラグインをオフにします。 HTML/CSSスキルも向上します

エディターをリロードするたびに、wysiwygがクラスとpre/codeタグを破壊するのを防ぐ方法を見つけるのに何日も費やしました。私がやっていることは、すべてのwysiwygプラグイン機能を無効にしようとしているだけであることに気付きました。だから私はそれをオフにしました。

はい、これは上記の私の答えに反しています。

0
Steve