Ze wszystkich edytorów Joomla, z których korzystaliśmy, JCE najlepiej odpowiada naszym celom i klientom. Ale z edytorem jest kilka problemów, które mogą powodować problemy, gdy coś kodujemy, potem przełącza się na wysiwyg i edytor próbuje „naprawić” nasz doskonale poprawny HTML.
Zanim zaczniesz zadawać pytania - tak, ustawiliśmy to, aby zezwalać na wszystkie te elementy, które JCE lubi ograniczać, i nie, NIE jest ustawione na sprawdzanie poprawności / czyszczenia HTML. Jedyne ograniczenia, jakie mamy, dotyczą wklejania treści do edytora.
Eksponat A:
<a href="#"></a>
To zniknie po przełączeniu edytora iz powrotem. Zastąpiony przez:
<p> </p>
Dowód B:
<a id="#nameofanchor"></a>
Zmiany w:
<p> </p>
Dowód C:
<div><a id="#nameofanchor"></a></div>
Zmiany w:
<div> </div>
Dowód D:
<a id="hello" class="link">Hello</a>
Zmiany w:
<p><a id="hello" class="link"></a>Hello</p>
Dowód E:
<a href="#">
<div>
<h2>Our Work</h2>
</div>
</a>
Zmiany w:
<p><a href="#"></a></p>
<div>
<h2><a href="#">Our Work</a></h2>
</div>
<p> </p>
Teraz chcemy użyć identyfikatora zamiast nazwy dla naszej kotwicy, ponieważ jest poprawny w HTML5, podczas gdy nazwa technicznie nie jest. Ponadto, w jakim wszechświecie id jest nieprawidłowym przypisaniem do łącza?
Poza tym, skoro teraz jest całkowicie uzasadnione zawinięcie div z linkami, dlaczego JCE też je usunie?
Czy to tylko ustawienie, którego mi brakuje? Czy ktoś ma jakiś wgląd w to, jak mogę korzystać z edytora, abyśmy mogli kodować tak, jak potrzebujemy w edytorze, ale nasi klienci nie mogą go zniszczyć, po prostu zapisując w wysiwyg?
Edycja: Testowałem to w Chrome, Firefox i Safari. Nie sądzę, że ma to coś wspólnego z przeglądarką.
Edycja: Testowałem to z ustawieniami kontenera. Zarówno pojemnik na akapity i akapit na Enter, jak i pojemnik Container i Div na enter powodują to. Pozostałe dwa, Brak kontenera i akapitu przy wejściu, Brak kontenera i podział linii przy wejściu, nie powodują tego. Problem w tym, że potrzebuję pierwszego ustawienia! O ile dobrze byłoby dać klientom wątpliwości, po prostu nie można im ufać, że wykonują instrukcje i dodają formatowanie akapitów do tekstu.
Potwierdzony: Dzieje się tak również z TinyMCE.
Tak więc - wiemy, co to powoduje - ustawienie Pojemnika na akapity - teraz jak sobie z tym poradzić, utrzymując to ustawienie przy życiu?
Odpowiedzi:
Używam edytora JCE na wszystkich naszych stronach, ale zaczęliśmy także instalować Sourcerer by NoNumbers. Daje to łatwy przycisk INSERT CODE edytorowi JCE, który chroni go przed modyfikacją.
http://www.nonumber.nl/extensions/sourcerer
źródło
Istnieją pewne tajne ustawienia dla JCE. Wiem, że następujące ustawienie przestaje
być dodawane do pustych div, może być używane do czyszczenia pływaków, co powoduje problemy z wysokością linii podczas renderowania:Spodziewałbym się, że jest więcej, które mogą kontrolować dowolny aspekt edytora.
źródło
Myślę, że muszą to być ustawienia typografii w: Profil -> Parametry edytora -> Typografia . Spróbuj ustawić element kontenera i klawisz Enter na NoContainer i LineBreak na klawiszu Enter, aby sprawdzić, czy nadal stosuje on jakiekolwiek zmiany w html.
Pamiętaj również, że ustawienie sprawdzania poprawności HTML ma ustawienie dla każdego profilu edytora, a Joomla zapewnia również filtr globalny na stronie konfiguracji globalnej ustawionej przez grupę użytkowników. Upewnij się, że nie ma żadnych ustawień dla każdej grupy użytkowników.
źródło
To zachowanie nie jest unikalne dla JCE. TinyMCE zachowuje się w ten sam sposób. To zachowanie może nie być ograniczone do TinyMCE, może to być zachowanie DOM przeglądarki.
JCE ma problem z utrzymaniem pustych znaczników, zastosowana metoda polega na wstawieniu spacji.
https://github.com/widgetfactory/jce-editor/blob/master/editor/tiny_mce/plugins/cleanup/editor_plugin.js
źródło