CKEDitor supprime les noms de classe, même à l'exception dans config

17

CKEditor semble supprimer les noms de classe lorsque je bascule entre la vue HTML et la vue RTF.

Selon de nombreuses suggestions sur le Web, j'ai ajouté ce qui suit au fichier config.js:

config.allowedContent = true;

Cache mis en place, effacé et même allé directement dans le fichier JS pour vérifier qu'il ne s'agit pas d'une mise en cache sur ma machine, mais qu'il supprime toujours les classes.

Y a-t-il une autre solution?

Francesca
la source

Réponses:

18

Allez dans "Admin >> Configuration >> CKEditor"; sous Profils , choisissez votre profil (par exemple Complet ).

Modifiez ce profil et ajoutez "Options avancées >> Configuration JavaScript personnalisée" config.allowedContent = true;.

instantané

N'oubliez pas de vider le cache sous "onglet Performances".

user19497
la source
Fonctionne pour moi sur Drupal 7 avec le module CKEditor 7.x-1.13 et CKEditor 4.3.2. Merci, je commençais juste à avoir des maux de tête avec ça!
Benj
1
Maintenant sous "Admin >> Création de contenu >> Configuration >> CKEditor".
Hugo
7

Modifiez le profil complet dans Configuration> CKEditor

entrez la description de l'image ici

Ouvrez la section Advanced Content Filter et sélectionnez Disabled entrez la description de l'image ici

Pas besoin d'ajouter quoi que ce soit dans le champ Contenu supplémentaire autorisé. Pas besoin de changer le config.js. [... comme ça ne m'a pas pris des heures et des heures pour comprendre]

Steve
la source
2
Maintenant sous "Admin >> Création de contenu >> Configuration >> CKEditor".
Hugo
1

Ce problème a été résolu dans dev (7.x-2.3 lors de la publication) dans le cadre de CKeditor 4.1 ACF . Vous pouvez essayer de mettre à niveau votre WYSIWYG ou essayer les solutions de contournement ci-dessous.


Dans Drupal 7, vous pouvez essayer le hook suivant:

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

ou en utilisant une autre idée:

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

ou avec le code jQuery suivant:

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

En relation:

kenorb
la source
0

Allez commando et désactivez complètement le wysiwyg.

Si vous savez comment écrire du HTML et du CSS de base, c'est-à-dire que vous n'êtes pas le client, désactivez le plugin. Cela améliorera également vos compétences HTML / CSS

J'ai passé des jours à trouver comment empêcher le wysiwyg d'abattre mes classes et mes balises de pré / code à chaque fois que je rechargeais l'éditeur. J'ai réalisé que tout ce que je faisais était d'essayer de désactiver toutes les fonctionnalités du plugin wysiwyg. Je l'ai donc désactivé.

Oui, cela est contraire à ma réponse ci-dessus.

Steve
la source