De todos los editores de Joomla que hemos utilizado, JCE se ha adaptado mejor a nuestros propósitos y clientes. Pero hay algunos problemas con el editor que pueden causar problemas cuando codificamos algo, luego se cambia a wysiwyg y el editor intenta 'arreglar' nuestro html perfectamente válido.
Antes de ir a hacer preguntas, sí, lo hemos configurado para permitir todos los elementos que a JCE le gusta restringir, y no, NO está configurado para validar / limpiar el html. Las únicas restricciones que tenemos son para pegar contenido en el editor.
Anexo A:
<a href="#"></a>
Esto desaparecerá al alternar el editor y viceversa. Reemplazadas con:
<p> </p>
Anexo B:
<a id="#nameofanchor"></a>
Cambios a:
<p> </p>
Anexo C:
<div><a id="#nameofanchor"></a></div>
Cambios a:
<div> </div>
Anexo D:
<a id="hello" class="link">Hello</a>
Cambios a:
<p><a id="hello" class="link"></a>Hello</p>
Anexo E:
<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>
Cambios a:
<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p> </p>
Ahora, queremos usar id en lugar de name para nuestro ancla, porque es válido bajo HTML5, mientras que técnicamente name no lo es. Además, ¿en qué universo es id una asignación no válida a un enlace?
Además, ahora que es totalmente legítimo envolver un div con enlaces, ¿por qué JCE los eliminaría también?
¿Es solo una configuración que me falta? ¿Alguien tiene alguna idea de cómo puedo usar el editor para que podamos codificar como necesitamos en el editor, pero nuestros clientes no pueden destruirlo simplemente guardando en wysiwyg?
Editar: he probado esto en Chrome, Firefox y Safari. No pienses que tiene algo que ver con el navegador.
Editar: he probado esto con la configuración del contenedor. Tanto el Párrafo de Contenedor y el Párrafo de Enter como el Div. De Contenedor y Div. De Enter causan esto. Los otros dos, Sin contenedor y párrafo al ingresar, Sin contenedor y salto de línea al ingresar, no lo causan. El problema es que necesito la primera configuración. Por mucho que sea genial darles a los clientes el beneficio de la duda, simplemente no se puede confiar en que sigan las instrucciones y agreguen formato de párrafo a su texto.
Confirmado: Esto también sucede con TinyMCE.
Entonces, sabemos qué causa esto, la configuración del Contenedor de párrafos, ¿cómo lo solucionamos mientras mantenemos viva esa configuración?
Respuestas:
Uso JCE Editor en todos nuestros sitios, pero también hemos comenzado a instalar Sourcerer by NoNumbers. Esto le da un botón fácil de INSERTAR CÓDIGO al editor JCE que lo protege de ser modificado.
http://www.nonumber.nl/extensions/sourcerer
fuente
Hay algunas configuraciones secretas para JCE. Sé que la siguiente configuración deja de
agregarse a divs vacíos, tal vez se usa para borrar flotantes, lo que causa problemas de altura de línea cuando se procesa:Esperaría que haya más que pueda controlar cualquier aspecto del editor.
fuente
Creo que debe ser la configuración de la tipografía en: Perfil -> Parámetros del editor -> Tipografía . Intente establecer el elemento de contenedor y la tecla Intro en NoContainer y LineBreak en Enter para ver si aún aplica algún cambio a su html.
Recuerde también que la configuración de Validación HTML tiene una configuración para cada perfil del Editor y que Joomla también proporciona un filtro global en la página de configuración global establecida por el grupo de usuarios. Asegúrese de que no haya configuraciones allí para cada grupo de usuarios.
fuente
Este comportamiento no es exclusivo de JCE. TinyMCE se comporta de la misma manera. Este comportamiento puede no estar limitado a TinyMCE, podría ser un comportamiento DOM del navegador.
JCE realmente se toma la molestia de tratar de mantener algunas etiquetas vacías, el método empleado es rellenar con un espacio.
https://github.com/widgetfactory/jce-editor/blob/master/editor/tiny_mce/plugins/cleanup/editor_plugin.js
fuente