Impossible de customiser TinyMCE Whitelist

Yasmin Ait Maksène · le 16/05/19 à 09:59

Ma tâche consiste en l'ajout d'un plugin fait par mon équipe dans un jcms 10

Le plugin en question permet d'ajouter une variable dans un wysisyg. Cependant, après avoir récupéré le plugin et fait les configurations nécessaires , il semble que TinyMCE nettoie automatiquement tout le code HTML, même si j'ai rajouté ma nouvelle balise <variable> dans la whitelist

Mes configurations sont les suivantes :
1) #WhiteList
wysiwyg.sanitize-html.whitelist.default.enabled: true
wysiwyg.sanitize-html.whitelist.default.tags:\
a[class|style|id|href|title|rel|name|hreflang|target],\
...
ul[class|style|id|type],\
variable\

2) wysiwyg.tinymce.jcms-init-options: \
extended_valid_elements : 'variable'

Pour cette configuration, j'ai suivi la doc jalios ( Lorsque j'édite du code HTML avec l'éditeur WYSIWYG, certains attributs ou balises disparaissent)

9 pts
Olivier Jaquemet · le 16/05/19 à 10:14

Bonjour, 

La documentation que vous suivez concerne JCMS 9.

Pour JPlatform 10, référrez-vous à ceci : 

https://docs.jalios.com/jplatform10/jcms/fr/front-end/wysiwyg-c_6003

#1

Bonjour,
j'ai consulté le lien que vous avez fourni mais ça renvoie à la même doc que j'ai utilisé :
https://docs.jalios.com/jplatform10/jcms/fr/front-end/wysiwyg/configuration-et-personnalisation/wysiwyg-configuration-du-nettoyage-html-6314

Dans mon cas, le plugin souhaité est intégré. J'ai effectivement l'icone qui me permet de saisir une variable. Le problème réside seulement dans le nettoyage du HTML fait par TinyMce.

Yasmin Ait Maksène · le 17/05/19 à 10:24
#2

Dans ce que Olivier donne, avez-vous regardé là aussi?

Michel Remacle · le 17/05/19 à 10:26
#3

Merci @Michel Remacle , c'est bien cela.
Je viens de faire une autre réponse dédiée avec un exemple plus détaillée afin que la réponse reste bien visible dans la discussion 

Olivier Jaquemet · le 17/05/19 à 11:36
0 pt
Olivier Jaquemet · le 17/05/19 à 11:36

Voici un exemple extrait du module GoogleDrive, qui ajoute la gestion d'un tag JHTML nommé "<jalios:googledrive>". 

  1. le fichier WEB-INF/plugins/GoogleDrivePlugin/properties/plugin.prop dans lequel les propriétés sont déclarées :
    - pour autoriser le tag jalios:googledrive lors du nettoyage coté serveur,
    - pour ajouter une configuration spécifique du wysiwyg (voir ci-après)
    wysiwyg.sanitize-html.whitelist.googledrive.enabled: true
    wysiwyg.sanitize-html.whitelist.googledrive.tags: jalios:googledrive[data-jalios-id|data-jalios-title|data-jalios-file-id]
    wysiwyg.additional.configuration.googledrive: /WEB-INF/plugins/GoogleDrivePlugin/wysiwyg/configuration-googledrive.conf
  2. le fichier WEB-INF/plugins/GoogleDrivePlugin/wysiwyg/configuration-googledrive.conf dans lequel on indique à l'éditeur TinyMCE de conserver notre tag et les attributs à supporter
    (je n'ai conservé que dans cet extrait que code servant à autoriser le tag)
    {
      '@ALL': {
        [...]
        extended_valid_elements: "jalios:googledrive[data-jalios-id|data-jalios-file-id]",
        custom_elements: "~jalios:googledrive"
      }
    }
#1

Merci pour votre réactivité. Mon problème est résolu !

Yasmin Ait Maksène · le 17/05/19 à 14:20
2 pts