De todos os editores de Joomla que usamos, o JCE melhor se adequou aos nossos propósitos e clientes. Mas existem alguns problemas com o editor que podem causar problemas quando codificamos algo, então é alternado para wysiwyg e o editor tenta 'consertar' nosso html perfeitamente válido.
Antes de você fazer perguntas - sim, nós o configuramos para permitir que todos os elementos que a JCE gosta restrinja e não, NÃO está configurado para validar / limpar o html. As únicas restrições que temos são para colar o conteúdo no editor.
Anexo A:
<a href="#"></a>
Isso desaparecerá no alternador do editor e vice-versa. Substituído por:
<p> </p>
Anexo B:
<a id="#nameofanchor"></a>
Muda para:
<p> </p>
Anexo C:
<div><a id="#nameofanchor"></a></div>
Muda para:
<div> </div>
Anexo D:
<a id="hello" class="link">Hello</a>
Muda para:
<p><a id="hello" class="link"></a>Hello</p>
Anexo E:
<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>
Muda para:
<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p> </p>
Agora, queremos usar id em vez de nome para nossa âncora, porque é válido no HTML5, enquanto tecnicamente o nome não é. Além disso, em que universo id é uma atribuição inválida a um link?
Além disso, agora que é totalmente legítimo agrupar uma div com links, por que o JCE também os tira?
Está faltando apenas uma configuração? Alguém tem alguma idéia de como eu posso usar o editor para que possamos codificar conforme necessário no editor, mas nossos clientes não podem destruí-lo simplesmente salvando no wysiwyg?
Edit: Eu testei isso no chrome, firefox e safari. Não pense que tem algo a ver com o navegador.
Editar: testei isso com as configurações do contêiner. Contêiner de parágrafo e parágrafo em Enter e div Contêiner e div em enter causam isso. Os outros dois, Sem contêiner e Parágrafo ao entrar, Sem contêiner e quebra de linha ao entrar, não o causam. O problema é - eu preciso da primeira configuração! Por mais que fosse ótimo oferecer aos clientes o benefício da dúvida, eles simplesmente não podem confiar em seguir as instruções e adicionar formatação de parágrafo ao texto.
Confirmado: isso também acontece com o TinyMCE.
Então - sabemos o que causa isso - a configuração do Parágrafo contêiner - agora como contorná-lo enquanto mantemos essa configuração ativa?