CKEDitor entfernt Klassennamen, auch mit Ausnahme von config


17

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

Wie aus vielen Vorschlägen im Internet hervorgeht, habe ich der Datei config.js Folgendes hinzugefügt:

config.allowedContent = true;

Hochgeladener, gelöschter Cache und direkter Zugriff auf die JS-Datei, um zu überprüfen, ob auf meinem Computer kein Cache vorhanden ist. Es werden jedoch weiterhin Klassen entfernt.

Gibt es eine andere Lösung?

Antworten:


18

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

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

Schnappschuss

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


Funktioniert für mich auf Drupal 7 mit CKEditor Modul 7.x-1.13 und CKEditor 4.3.2. Danke, ich hatte gerade Kopfschmerzen damit!
Benj

1
Jetzt unter "Admin >> Content Authoring >> Konfiguration >> CKEditor".
Hugo

7

Bearbeiten Sie das vollständige Profil unter Konfiguration> CKEditor

Bildbeschreibung hier eingeben

Öffnen Sie den Bereich Erweiterter Inhaltsfilter und wählen Sie Deaktiviert Bildbeschreibung hier eingeben

Es ist nicht erforderlich, im Feld "Zusätzlicher zulässiger Inhalt" etwas hinzuzufügen. Keine Notwendigkeit, die config.js zu ändern. [... wie das hat mich nicht Stunden und Stunden gekostet, um herauszufinden]


2
Jetzt unter "Admin >> Content Authoring >> Konfiguration >> CKEditor".
Hugo

1

Dieses Problem wurde in dev (7.x-2.3 bei Veröffentlichung) im Rahmen 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:


0

Gehen Sie Kommando und deaktivieren Sie die Wysiwyg insgesamt.

Wenn Sie wissen, wie man einfaches HTML und CSS schreibt, dh Sie sind nicht der Client, dann schalten Sie das Plugin aus. Es wird auch Ihre HTML / CSS-Kenntnisse verbessern

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

Ja, das widerspricht meiner obigen Antwort.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.