CKEDitor rimuove i nomi delle classi, anche con l'eccezione in config


17

Sembra che CKEditor stia eliminando i nomi delle classi quando commuto tra visualizzazione HTML e visualizzazione Rich Text.

Come per molti suggerimenti sul Web, ho aggiunto quanto segue al file config.js:

config.allowedContent = true;

Cache caricata, cancellata e persino passata direttamente al file JS per verificare che non sia memorizzata nella cache sul mio computer, ma rimuove ancora le classi.

C'è un'altra soluzione?

Risposte:


18

Vai su "Ammin >> Configurazione >> CKEditor"; in Profili , scegli il tuo profilo (ad es. Completo ).

Modifica quel profilo e su "Opzioni avanzate >> Configurazione JavaScript personalizzata" aggiungi config.allowedContent = true;.

istantanea

Non dimenticare di svuotare la cache in "Scheda Prestazioni".


Funziona per me su Drupal 7 con il modulo CKEditor 7.x-1.13 e CKEditor 4.3.2. Grazie, stavo appena iniziando ad avere mal di testa con quello!
Benj,

1
Ora sotto "Amministratore >> Creazione contenuto >> Configurazione >> CKEditor".
Hugo,

7

Modifica il profilo completo in Configurazione> CKEditor

inserisci qui la descrizione dell'immagine

Apri la sezione Filtro contenuti avanzati e seleziona Disabilitato inserisci qui la descrizione dell'immagine

Non è necessario aggiungere nulla nel campo Contenuto extra consentito. Non è necessario modificare config.js. [... come questo non mi ha impiegato ore e ore per capire]


2
Ora sotto "Amministratore >> Creazione contenuto >> Configurazione >> CKEditor".
Hugo,

1

Questo problema è stato risolto in dev (7.x-2.3 quando pubblicato) come parte di CKeditor 4.1 ACF . Puoi provare ad aggiornare il tuo WYSIWYG o provare le soluzioni alternative seguenti.


In Drupal 7 puoi provare il seguente hook:

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

o usando qualche altra idea:

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

o con il seguente codice jQuery:

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

Relazionato:


0

Vai a commando e disabilita del tutto il wysiwyg.

Se sai come scrivere HTML e CSS di base, ovvero non sei il client, disattiva il plug-in. Migliorerà anche le tue abilità HTML / CSS

Ho trascorso giorni a capire come prevenire il wysiwyg macellando le mie classi e tag pre / codice ogni volta che ho ricaricato l'editor. Mi sono reso conto che tutto quello che stavo facendo era provare a disabilitare tutte le funzionalità del plugin wysiwyg. Quindi l'ho spento.

Sì, questo è contrario alla mia risposta sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.