2010-02-23 4 views
0

J'essaie d'intégrer CKEditor dans Wordpress pour un client. Je ne le connais pas trop, c'est la première fois que je l'utilise.CKEditor "me protège" des feuilles de style en ligne

Le client souhaite utiliser CKEditor sur une zone de texte stockée dans un champ personnalisé et affichée dans la barre latérale d'une page.

J'ai ajouté le support pour cette forme d'édition en ajoutant des méta-boîtes à la fenêtre d'édition de la page. J'ai le plugin FCKEditor installé, donc je viens d'appeler CKEditor.replace sur la métabox pertinente.

Le problème est que lorsque la méta-boîte contient CE: (J'ai coupé le CSS pour plus de commodité.

<style type="text/css"> 
<!-- 
.side-banner .style1 { 
    font-family: Arial; 
    font-size: 14px; 
} 
.side-banner .style2 { 
font-family: Helvetica; 
font-size: 12px; 
--> 
</style> 
<table width="246" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <th width="246" height="15" colspan="2" scope="col"> </th> 

CKEditor il se transforme en ceci:

<p><style type="text/css"> 
<!--{cke_protected}%3C!%2D%2D%0A.side-banner%20.style1%20%7B%0A%09font-family%3A%20Arial%2C.side-banner%20.style2%20%7B%0A%09font-family%3A%20Arial%2C%20Helvetica%2C%20sans-serif%3B--> 
</style></p> 
<table border="0" cellpadding="0" cellspacing="0" width="246"> 
    <tbody> 
     <tr> 

Mon client insiste sur la modification du Sidebox au niveau CSS/HTML plutôt que le contenu, et je voudrais fournir ce qui est demandé plutôt que passer du temps à les éduquer (ceci est peut-être un sujet pour une autre question de SO?).

Je me rends compte que cela a à voir avec CKEDITOR.config.protectedSource mais j'ai trouvé très peu de documentation pour m'aider, et je ne saurais pas quel genre de RegEx fournir pour éviter cela.

Comment puis-je empêcher CKEditor d'engloutir le code HTML/CSS dans cette balise <textarea>?

Répondre

4

Supprimez les commentaires HTML (< - et - >!) Du style < >

Edit: Il est suivi dans ce billet http://dev.fckeditor.net/ticket/4880

+0

MERCI. Alors pourquoi CKEditor fait-il cela? – Jono

+0

Parce que pour éviter les problèmes avec les navigateurs, il doit protéger certains codes comme les commentaires, mais le processus de retour à la normale a des problèmes avec la protection dans certains cas. – AlfonsoML

Questions connexes