Author Topic: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)  (Read 664 times)

Offline Schnetty

  • Posts: 152
  • Gender: Male
Moin,

nach ewig langer Zeit sitz ich mal wieder an einer WebsiteBaker Seite und verzweifle grad an diesem elenden CKEditor.
Weiß jemand, wie man dieses "Oberlehrerhafte" Teil dazu bringt, meinen Quelltext nicht automatisch zu korrigieren?

Ich baue grad per Abschnitte verwalten eine 4-Spalten Bootstrap Row (altes BS2 Layout) und muss ein Row-fluid Div im ersten Abschnitt öffnen, danach folgen 4 Abschnitte, die das 4er Grid werden und im letzten Abschnitt soll das Row-Div wieder geschlossen werden. Fragt nicht warum ich das mache, es geht leider nicht anders. Es gibt zwar ein Modul dafür, aber das ist inkompatibel und mir fehlt die Zeit, das alte BS2 in ein BS3/4 um zu frickeln. Prio ist, die Seite wieder online zu bekommen (der alte Webmaster war leider kein fachkundiger und hat ein altes WB zu einer Virenschleuder verkommen lassen, bis der Hoster es abgeschaltet hat. Der wusste leider nichtmal was genau da passiert ist. "irgendwann ging die Seite nicht mehr". Er hat sich nun zurück gezogen und ich übernehme die Baustelle grad.

Also der CKEditor strickt ungefragt am Quellcode rum und lt. CKEditor-Forum soll das auch nicht abschaltbar sein (da waren schon viele Kollegen, die danach gefragt haben, sind aber ziemlich dumm aufgelaufen dort. Den Ton zieh ich mir auch nicht, also ist die Quelle für mich gestorben. "Warum willste so´n Unsinn machen? Das bringt nur Stress" oder "Geht nicht, macht keinen Sinn, das ist da nicht umsonst eingebaut worden - basta".

Das ist wenig hilfreich.

Also per wysiwyg Abschnitte klappt schon mal nicht.
Nächste Idee 1. Abschnitt per Code Modul, 4 wysiwyg Abschnitte mit dem 4er Grid, letzer Abschnitt wieder Code-Modul.

Klappt auch nicht, weil da wieder ungefragt irgend ein Mist zwischen gebaut wird.
Diesmal sah es so aus:
ich schreibe im per Code-Modul dies
Code: [Select]
<?php echo '<div class="row-fluid">'?> und im letzten Abschnitt das gleiche mit dem schließenden Div.
Aber was kommt dabei heraus? Um meinen öffnenden Div bastelt das Modul dann sowas:
Code: [Select]
<div id="Sec26" class="section m_code" >Es ist zum verrückt werden. Den Mist brauch ich nicht warum schreibt das Modul das drumherum?

Nächste Idee:
Newsmodul umbauen. Table Layout raus, Bootstrap kompatibles rein, umlaufendes Row-Div direkt in das Template.
Geht auch nicht, weil dazwischen folgendes mit ausgegeben wird:
Code: [Select]
<div id="Sec1" class="section m_wysiwyg" > (woher das kommt? Keine Ahnung.)
das erzeugt wieder Probleme. Geht das nicht einfach ohne irgendeine Eigenmächtigkeit?

Mir würde schon helfen, wenn der besch...ene CKEditor meinen Quellcode nicht anrührt. Aber lt. Entwicklerforum ist das ja eine schwachsinnige Idee, geht nicht und fertig.

Ich hoffe hier hat jemand eine Idee dazu :-)

Greets
Schnetty

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #1 on: February 26, 2017, 02:38:16 PM »
ich muß mir das ganze Post nochmal in Ruhe durchlesen, meine auch, das ich den CKeditor nicht dazu bringen kann, es anders zu machen, ohne an anderer Stelle Dinge zu verlieren, an die ich mich gewöhnt habe.
Was genau "vermurkst" dir denn denn der Editor - ggf gibt es Möglichkeiten, die sog. Rules zu ändern, z.b in einer eigenen wb_ckconfig.js, die dann im Template-Ordner (Frontend-Template) liegt

Aber zur Sache Code-Modul
habe ich in dieser Form schon gemacht für eine sehr komplexe Unterseite. Verwendet wurde das Code²-Modul -> http://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?filter=Code%202&id=0C49DE21

es gibt die Möglichkeit, je Abschnitt den Code-Typ zwischen PHP, HTML, JS und auch Kommentar zu wechseln. Hier hatte ich dann eine Kombination mehrere Codeabschnitte, die in der Ansicht auch verkleinert werden können. Mittendrin dann die eine WYSIWYG-Section, die die komfortable Bearbeitung des Inhalts ermöglich
Haken an der Sache - Usabilty ist eigentlich sehr schlecht

Quote
Um meinen öffnenden Div bastelt das Modul dann sowas:
läßt sich in den WB-Optionen -> Erweiterte Optionen unter Abschnitts-Ankertext ändern


mit der Einstellung none sollte dieses umschließende DIV dann nicht erscheinen. Anlass für den Einbau war übrigens der genau umgekehrte Fall, wo User es wollten, das eine einzelne Sectionen identifizierbar sind, z.b. um sie per js ansprechen zu können
« Last Edit: February 26, 2017, 02:43:41 PM by jacobi22 »
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline Schnetty

  • Posts: 152
  • Gender: Male
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #2 on: February 26, 2017, 07:11:55 PM »
Hi,

perfekt, das hat geholfen :-)
Noch ein paar kleine CSS Fixes und jetzt läufts, wie ich´s mir vorstelle.

Ich hab auch schon nen Workaround für den CKEditor gefunden indem ich in der wb_config vom Editor den ACF deaktivieren konnte, das hat aber nicht den gewünschten Effekt gehabt.

Schöne Woche (auch wenn´s Wettertechnisch eher ekelig werden soll)
Schnetty

Offline msfrog

  • Posts: 58
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #3 on: March 06, 2017, 12:45:23 PM »
Hallo Schnetty,
ich hab gerade das gleiche Problem. Habe erst einen Abschnitt Code eingefügt und darin ein Div geöffnet, dann einen WYSIWYG-Abschnitt und zum Schluss nochmal Code mit dem schließenden Div. In einer älteren Version von WB (2.8.3 SP1) funktionierte das auch noch einwandfrei. Jetzt mit der aktuellen SP7 gehts nicht mehr. Direkt nach dem Öffnen des Div im Quelltext der Seite wirds dann auch gleich wieder geschlossen, das schließende Div aus dem 2. Code-Abschnitt fehlt.

Wie sieht deine Lösung jetzt genau aus, hast du das Code²-Modul verwendet oder gehts mit dem originalen? So ganz hab ich das leider nicht verstanden. Ist es denn überhaupt ein Problem mit dem CK-Editor? Oder pfuscht da der Baker selbst bei der Ausgabe drin rum? Ich tippe ja eher auf letzteres, denn in der Datenbank steht nur das drin, was ich in den Code-Abschnitt reingeschrieben hab und bei der Ausgabe sollte der CKEditor doch nicht zum Einsatz kommen, oder?

Edit: Ok, erledigt... Ankertext auf none gesetzt, schon ist der Krempel weg und es funktioniert wie es soll :)

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #4 on: March 06, 2017, 12:47:13 PM »
gibt mal (bitte ganz exact ) an, was in den beiden Codeabschnitten drin steht
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline msfrog

  • Posts: 58
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #5 on: March 06, 2017, 01:16:46 PM »
Im ersten
echo '<div class="fmsl">';
und unten dann
echo '</div>';

Also nichts außergewöhnliches. Es soll einfach nur ein Div um den WYSIWYG-Abschnitt entstehen, das ein normaler Anwender nicht entfernen kann. Im WYSIWYG-Teil kann zu schnell mal versehentlich sowas kaputt gehen. Zweck des Divs ist, dass man den Inhalt in Spalten aufteilen kann (in meinem Fall ist rechts eine Liste mit Terminen).

Wie gesagt, wenn in den Optionen der Ankertext auf "none" gesetzt wird, dann funktionierts. Die Anker sind dann zwar weg, aber die fand ich persönlich eh immer eher störend als hilfreich.

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #6 on: March 06, 2017, 03:14:48 PM »
Quote
Die Anker sind dann zwar weg, aber die fand ich persönlich eh immer eher störend als hilfreich.
andere Leute hatten eine andere Meinung dazu und wollten mit genau der gleichen Begründung ein umschließendes div - (....Im WYSIWYG-Teil kann zu schnell mal versehentlich sowas kaputt gehen.....)


Problem bei deinem Vorhaben: mit aktiviertem Ankertext wird ein DIV um jede Section gebaut, um das Wysiwyg und auch um das Code- oder Code²-Modul, d.h. ein geöffnetes <div class="fmsl"> wird direkt danach wieder geschlossen durch den schließenden Anker-Tag </div>

Ob du das Code- oder das Code²-Modul verwendest, spielt dabei keine Rolle.

Wenn du diese umschließenden Div's nicht benötigst, nutze den Schalter (none in den WB-Settings), dafür war er da
Dieses umschließende Div ist übrigens schon ein paar Jahre drin, mindestens seit SP4
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.

Offline msfrog

  • Posts: 58
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #7 on: March 10, 2017, 01:11:07 PM »
Quote
andere Leute hatten eine andere Meinung dazu und wollten mit genau der gleichen Begründung ein umschließendes div - (....Im WYSIWYG-Teil kann zu schnell mal versehentlich sowas kaputt gehen.....)
Es sei ihnen gegönnt :)

Quote
Problem bei deinem Vorhaben: mit aktiviertem Ankertext wird ein DIV um jede Section gebaut, um das Wysiwyg und auch um das Code- oder Code²-Modul, d.h. ein geöffnetes <div class="fmsl"> wird direkt danach wieder geschlossen durch den schließenden Anker-Tag </div>
Jupp, du beschreibst das Problem ganz exakt.

Quote
Dieses umschließende Div ist übrigens schon ein paar Jahre drin, mindestens seit SP4
Ich weiß. Trotzdem funktionierte es mit den alten Versionen, weil dort kein Div um die ganze Section gezogen wurde, sondern ein leeres <a>-Tag davorgesetzt.

Aber gut, das Problem ist gelöst, man muss den Schalter eben nur erstmal kennen. Danke fürs zeigen :)

Offline jacobi22

  • Posts: 5836
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: CKeditor automatische Korrektur abschalten (nicht geschlossene Tags)
« Reply #8 on: March 10, 2017, 01:23:24 PM »
Quote
Trotzdem funktionierte es mit den alten Versionen, weil dort kein Div um die ganze Section gezogen wurde, sondern ein leeres <a>-Tag davorgesetzt.

ist aber schon einige Jahre her  ;-)

"Problem" beim a-Tag ist in dem Fall, das er da bestenfalls als Ankersprungpunkt verwendbar ist, aber eben kein DIV umschließt, das man z.b. für ein Accordion nutzen kann

Ich will es jetzt nicht unnötig kompliziert machen, aber wenn du deine Klasse fsml auf den Namen dieser Section umbenennen würdest, wäre es auch mit umschließendem DIV gegangen  :wink:
Probleme sind da, um sie zu lösen, nicht, um nach Ausreden zu suchen.