CKEDitor elimina los nombres de clase, incluso con la excepción en config

17

CKEditor parece estar eliminando los nombres de clase cuando cambio entre la vista HTML y la vista de texto enriquecido.

Según muchas sugerencias en la web, he agregado lo siguiente al archivo config.js:

config.allowedContent = true;

Subió, borró la memoria caché e incluso fue directamente al archivo JS para verificar que no está almacenando en caché en mi máquina, pero aún está eliminando clases.

¿Hay otra solución?

Francesca
fuente

Respuestas:

18

Vaya a "Admin >> Configuración >> CKEditor"; bajo Perfiles , elija su perfil (por ejemplo, Completo ).

Edite ese perfil y agregue "Opciones avanzadas >> Configuración de JavaScript personalizada" config.allowedContent = true;.

instantánea

No olvides vaciar el caché en la pestaña "Rendimiento".

usuario19497
fuente
Funciona para mí en Drupal 7 con el módulo CKEditor 7.x-1.13 y CKEditor 4.3.2. ¡Gracias, estaba empezando a tener dolor de cabeza con eso!
Benj
1
Ahora en "Admin >> Creación de contenido >> Configuración >> CKEditor".
Hugo
7

Edite el perfil completo en Configuración> CKEditor

ingrese la descripción de la imagen aquí

Abra la sección Filtro de contenido avanzado y seleccione Desactivado ingrese la descripción de la imagen aquí

No es necesario agregar nada en el campo Contenido extra permitido. No es necesario cambiar el config.js. [... como si esto no me hubiera tomado horas y horas descubrirlo]

Steve
fuente
2
Ahora en "Admin >> Creación de contenido >> Configuración >> CKEditor".
Hugo
1

Este problema se ha resuelto en dev (7.x-2.3 cuando se publica) como parte de CKeditor 4.1 ACF . Puede intentar actualizar su WYSIWYG o probar las soluciones a continuación.


En Drupal 7 puedes probar el siguiente gancho:

<?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 alguna otra 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 el siguiente código jQuery:

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

Relacionado:

kenorb
fuente
0

Ve al comando y desactiva el wysiwyg por completo.

Si sabe cómo escribir HTML y CSS básicos, es decir, no es el cliente, apague el complemento. También mejorará tus habilidades de HTML / CSS

Pasé días descubriendo cómo evitar que wysiwyg destruyera mis clases y etiquetas de código / pre cada vez que recargaba el editor. Me di cuenta de que todo lo que estaba haciendo era tratar de deshabilitar toda la funcionalidad del complemento wysiwyg. Entonces lo apagué.

Sí, esto es contrario a mi respuesta anterior.

Steve
fuente