De tous les éditeurs Joomla que nous avons utilisés, JCE a le mieux adapté à nos besoins et à nos clients. Mais il y a quelques problèmes avec l'éditeur qui peuvent causer des problèmes lorsque nous codons quelque chose, puis il est basculé sur wysiwyg et l'éditeur essaie de `` réparer '' notre html parfaitement valide.
Avant de poser des questions - oui, nous l'avons défini pour autoriser tous les éléments que JCE aime restreindre, et non, il n'est PAS défini pour valider / nettoyer le code html. Les seules restrictions que nous avons sont pour coller du contenu dans l'éditeur.
Pièce A:
<a href="#"></a>
Cela disparaîtra lors du basculement de l'éditeur et vice versa. Remplacé par:
<p> </p>
Pièce B:
<a id="#nameofanchor"></a>
Modifications apportées à:
<p> </p>
Pièce C:
<div><a id="#nameofanchor"></a></div>
Modifications apportées à:
<div> </div>
Pièce D:
<a id="hello" class="link">Hello</a>
Modifications apportées à:
<p><a id="hello" class="link"></a>Hello</p>
Pièce E:
<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>
Modifications apportées à:
<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p> </p>
Maintenant, nous voulons utiliser id au lieu du nom pour notre ancre, car il est valide sous HTML5, alors que le nom ne l'est techniquement pas. De plus, dans quel univers est une affectation non valide à un lien?
De plus, maintenant qu'il est tout à fait légitime d'envelopper un div avec des liens, pourquoi JCE les supprimerait-il également?
Est-ce juste un paramètre qui me manque? Quelqu'un a-t-il une idée de la façon dont je peux utiliser l'éditeur pour que nous puissions coder comme nous en avons besoin dans l'éditeur, mais nos clients ne peuvent pas le détruire simplement en enregistrant dans wysiwyg?
Edit: j'ai testé cela dans Chrome, Firefox et Safari. Ne pensez pas que cela a quelque chose à voir avec le navigateur.
Edit: j'ai testé cela avec les paramètres du conteneur. Le conteneur de paragraphe et le paragraphe sur Entrée et le conteneur de division et Div sur entrée provoquent cela. Les deux autres, Aucun conteneur et paragraphe à l'entrée, Aucun conteneur et saut de ligne à l'entrée, ne le provoquent pas. Le problème est - j'ai besoin du premier réglage! Même s'il serait formidable de donner aux clients le bénéfice du doute, on ne peut tout simplement pas leur faire confiance pour suivre les instructions et ajouter une mise en forme de paragraphe à leur texte.
Confirmé: cela se produit également avec TinyMCE.
Donc - nous savons ce qui cause cela - le paramètre Conteneur de paragraphes - comment pouvons-nous le contourner tout en conservant ce paramètre en vie?
Réponses:
J'utilise JCE Editor sur tous nos sites, mais nous avons également commencé à installer Sourcerer by NoNumbers. Cela donne un bouton INSERT CODE facile à l'éditeur JCE qui le protège de toute modification.
http://www.nonumber.nl/extensions/sourcerer
la source
Il existe des paramètres secrets pour JCE. Je sais que le paramètre suivant cesse d'
être ajouté aux divisions vides, peut-être utilisé pour effacer les flottants, ce qui provoque des problèmes de hauteur de ligne lors du rendu:Je m'attendrais à ce qu'il y en ait plus qui puissent contrôler n'importe quel aspect de l'éditeur.
la source
Je pense que ce doit être les paramètres de typographie dans: Profil -> Paramètres de l'éditeur -> Typographie . Essayez de définir l'élément Container Element & Enter sur NoContainer & LineBreak sur Enter pour voir s'il applique toujours des modifications à votre code HTML.
Souvenez-vous également que le paramètre de validation HTML a un paramètre pour chaque profil de l'éditeur et que Joomla fournit également un filtre global dans la page de configuration globale définie par le groupe d'utilisateurs. Assurez-vous qu'il n'y a pas de paramètres pour chaque groupe d'utilisateurs.
la source
Ce comportement n'est pas propre à JCE. TinyMCE se comporte de la même manière. Ce comportement peut ne pas être limité à TinyMCE, il peut s'agir d'un comportement DOM du navigateur.
JCE se donne en fait la peine d'essayer de garder des balises vides, la méthode utilisée est de remplir avec un espace.
https://github.com/widgetfactory/jce-editor/blob/master/editor/tiny_mce/plugins/cleanup/editor_plugin.js
la source