it-swarm.com.de

CKEDitor entfernt Klassennamen, auch mit Ausnahme der Konfiguration

CKEditor scheint Klassennamen zu entfernen, wenn ich zwischen HTML-Ansicht und Rich-Text-Ansicht umschalte.

Gemäß vielen Vorschlägen im Internet habe ich der Datei config.js Folgendes hinzugefügt:

config.allowedContent = true;

Hochgeladener, gelöschter Cache und sogar direktes Aufrufen der JS-Datei, um zu überprüfen, ob sie nicht auf meinem Computer zwischengespeichert wird, aber dennoch Klassen entfernt.

Gibt es eine andere Lösung?

17
Francesca

Gehen Sie zu "Admin >> Konfiguration >> CKEditor"; Wählen Sie unter Profile Ihr Profil aus (z. B. Voll).

Bearbeiten Sie dieses Profil und fügen Sie unter "Erweiterte Optionen >> Benutzerdefinierte JavaScript-Konfiguration" config.allowedContent = true;.

snapshot

Vergessen Sie nicht, den Cache unter "Registerkarte" Leistung "zu leeren.

18
user19497

Bearbeiten Sie das vollständige Profil unter Konfiguration> CKEditor

enter image description here

Öffnen Sie den Abschnitt Erweiterter Inhaltsfilter und wählen Sie Deaktiviert enter image description here

Im Feld Zusätzlicher zulässiger Inhalt muss nichts hinzugefügt werden. Die config.js muss nicht geändert werden. [... so habe ich nicht Stunden und Stunden gebraucht, um herauszufinden]

7
Steve

Dieses Problem wurde in dev (7.x-2.3 bei Veröffentlichung) als Teil von CKeditor 4.1 ACF behoben. Sie können entweder versuchen, Ihr WYSIWYG zu aktualisieren, oder die folgenden Problemumgehungen ausprobieren.


In Drupal 7) können Sie den folgenden Hook ausprobieren:

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

oder mit einer anderen Idee:

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

oder mit folgendem jQuery-Code:

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

Verbunden:

1
kenorb

Gehen Sie Kommando und deaktivieren Sie das Wysiwyg insgesamt.

Wenn Sie wissen, wie man einfaches HTML und CSS schreibt, d. H. Sie sind nicht der Client, deaktivieren Sie das Plugin. Es wird auch Ihre HTML/CSS-Kenntnisse verbessern

Ich habe Tage damit verbracht herauszufinden, wie ich verhindern kann, dass der Wysiwyg meine Klassen und Pre-/Code-Tags jedes Mal abschlachtet, wenn ich den Editor neu lade. Mir wurde klar, dass ich nur versuchte, alle Funktionen des Wysiwyg-Plugins zu deaktivieren. Also habe ich es ausgeschaltet.

Ja, das widerspricht meiner obigen Antwort.

0
Steve