Author Topic: CKEditor Syntaxhighlight einschalten?  (Read 1749 times)

Offline Hartmut

  • Posts: 46
CKEditor Syntaxhighlight einschalten?
« on: February 06, 2023, 10:43:36 PM »
Hallo Leute,

könnte mir bitte jemand einen Tipp geben, wie und wo ich was einstellen muss, damit man im Backend (CKeditor, WYSIWYG) den Quellcode wieder farbig dargestellt bekommt. Mußte man nicht irgendwo im Template-Ordner eine config-Datei anlegen in der Syntaxhighlight = true o.s.ä. steht? Ich hatte das schon mal hinbekommen. Aufgrund einer Neueinrichtung von WB 2.13.3. ging mir diese hilfreiche Funktion leider verloren. Mir scheint, standardmäßig ist dieses Plugin/Modul des CKEditos nicht eingeschaltet? Für Eure Hilfe möchte ich mich schon mal im Voraus bedanken.

Gruß Hartmut

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #1 on: February 07, 2023, 01:39:26 AM »
Syntax-Highlight ist standardmäßig eingeschalten (siehe Bild unten)

Möglicherweise ist in deinen genutzten Frontend-Template-Ordner aber noch eine alte Datei wb_ckconfig.js, die der CKEditor mit einliest. Falls JA, diese mal für einen Test umbenennen, den Browsercache löschen und die Seite mit dem Editor reloaden

Eine Methode zur einfachen Überprüfung ohne langes Suchen:
- Klicke im Backend auf einer Seite mit angezeigten CKEditor rechts oder links mit der rechten Maustaste in den blauen Bereich außerhalb der normalerweise weißen Content-Anzeige
- Wähle im erscheinenden Menü "Seitenquelltext anzeigen" (für firefox, Chrome oder Edge) bzw Seitenquelle (in Opera)
- Scroll in diesem angezeigten Quelltext runter bis viel schwarzer Text statt des sonst bunten mit Syntaxhighlight versehenen Code und suche nach den im nächsten Bild markierten Zeilen
- customConfig gibt die Datei an, aus der aktuell die Konfiguration geladen wird
- extraPlugins sind die derzeit aktivierten Plugins



Ist dort das gesuchte syntaxhighlight nicht dabei und die Konfiguration kommt nicht aus alten Dateien in den Frontend-Templates, kontrolliere die include.php des CKEditors im Ordner modules/ckeditor
das ist seit diversen WB- und CKEditor-Versionen so wie hier im Bild und kann dann eigentlich nur von dir geändert worden sein



Sollte es weiterhin Probleme geben, poste mal einen Screenshot ähnlich meinem Bild 2, der alles zeigt, was da für den CKEditor eingestellt wurde

Hast du noch einen "zweiten", älteren Ordner mit Namen "syntax_highlight" (Ordnername mit Unterstrich) oder mit anderen Schreibweisen, kann der gelöscht werden. Aktiv ist der Ordner "syntaxhighlight"

P.S.: eine weitere Möglichkeit wäre das Löschen des Inhaltes vom Ordner modules/ckeditor per FTP und das anschließende Hochladen des gleichen Inhalts aus dem entpackten WB-Installationspaket
« Last Edit: February 07, 2023, 01:48:52 AM by sternchen8875 »

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #2 on: February 07, 2023, 08:50:39 AM »
Vielen Dank für Deine umfangreiche Antwort, dank dieser habe ich alles nachvollziehen können. Leider stehe ich trotzdem auf dem Schlauch, denn syntaxhighlight scheint laut Quellecode ausgeschaltet zu sein, obwohl ich keine wb_ckconfig.js in meinem Template-Ordner habe:
Code: [Select]
<script>window.CKEDITOR_BASEPATH='/cms/modules/ckeditor/ckeditor/';</script>
<script src="/cms/modules/ckeditor/ckeditor/ckeditor.js?t=K254"></script>
<script>CKEDITOR.replace('content42', {
    "ModulVersion": "4.20.0.3",
    "WBrevision": "166",
    "WBversion": "2.13.3",
    "contentsCss": "https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor.css",
    "stylesSet": "wb:https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor\/editor.styles.js",
    "templates_files": [
        "https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor\/editor.templates.js"
    ],
    "customConfig": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/wb_ckconfig.js",
    "defaultLanguage": "de",
    "language": "de",
    "docType": "<!DOCTYPE html>",
    "backup_on_start": true,
    "backup_save_delay": 500,
    "syntaxhighlight_lang": "php",
    "filebrowserBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserImageBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=Image&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserFileBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=File&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserMediaBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=Media&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "uploader": false,
    "height": "358px",
    "width": "100%",
    "autoGrow_minHeight": "358px",
    "autoGrow_maxHeight": "358px",
    "autoGrow_bottomSpace": 50,
    "autoGrow_onStartup": false
});</script>




 Die include.php sieht wie bei Dir aus, selbst die Zeilennr. stimmt:
Code: [Select]
        $ckeditor->config['extraPlugins'] =
                            'codemirror'
                          . ',filebrowser'
                          . ',syntaxhighlight'
                          . ',wblink'
                          . ',wbdroplets'
                          . ',wbabout'
                          . ',wboembed'
                          . ',wbrelation'
//                          . ',emoji'

Falls ich den Quellcode richtig lese, könnte dann vielleicht die Ursache in den folgenden Dateien zu finden sein?

"contentsCss": "https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor.css",
     "stylesSet": "wb:https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor\/editor.styles.js",
    "templates_files": ["https:\/\/0815.de\/cms\/templates\/MEINTEMPLATE\/editor\/editor.templates.js"],
    "customConfig": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/wb_ckconfig.js",



Nachtrag:
Ich habe nun alle 4 o.g. Dateien aus meinem Template gelöscht. Jetzt zeigt der Quellcode wenigstens folgendes an:
Code: [Select]
<script>CKEDITOR.replace('content50', {
    "ModulVersion": "4.20.0.3",
    "WBrevision": "166",
    "WBversion": "2.13.3",
    "contentsCss": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.css",
    "stylesSet": "wb:https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.styles.js",
    "templates_files": [
        "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.templates.js"
    ],
    "customConfig": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/wb_ckconfig.js",
    "defaultLanguage": "de",
    "language": "de",
    "docType": "<!DOCTYPE html>",
    "backup_on_start": true,
    "backup_save_delay": 500,
    "syntaxhighlight_lang": "php",

Bedeutet syntaxhighlight_lan g": "php",  dass diese nun wenigstens für die Sprache php funktionieren sollte? Und falls ja, wie und wo müsste ich editieren, um auch html  als "syntaxhighlight_lan g": "html" aktiviert zu bekommen.


Danke, Gruß Hartmut.
« Last Edit: February 07, 2023, 09:05:46 AM by Hartmut »

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #3 on: February 07, 2023, 10:06:13 AM »
2.Nachtrag: Mit meinem Quellcode scheint trotzdem etwas nicht zu stimmen, denn nur die folgenden Zeilen stimmen überein:
Code: [Select]
<script>CKEDITOR.replace('content50', {
    "ModulVersion": "4.20.0.3",
    "WBrevision": "166",
    "WBversion": "2.13.3",
    "contentsCss": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.css",
    "stylesSet": "wb:https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.styles.js",
    "templates_files": [
        "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/editor.templates.js"
    ],
    "customConfig": "https:\/\/0815.de\/cms\/modules\/ckeditor\/wb_config\/wb_ckconfig.js",
    "defaultLanguage": "de",
    "language": "de",

Die Zeilen danach sehen merkwürdig aus, denn hier sollte es eigentlich mit "format_tags:" .... weitergehen
Code: [Select]
"docType": "<!DOCTYPE html>",
    "backup_on_start": true,
    "backup_save_delay": 500,
    "syntaxhighlight_lang": "php",
    "filebrowserBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserImageBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=Image&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserFileBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=File&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "filebrowserMediaBrowseUrl": "\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/browser\/default\/browser.html?Type=Media&Connector=\/cms\/modules\/ckeditor\/ckeditor\/filemanager\/connectors\/php\/connector.php",
    "uploader": false,
    "height": "358px",
    "width": "100%",
    "autoGrow_minHeight": "358px",
    "autoGrow_maxHeight": "358px",
    "autoGrow_bottomSpace": 50,
    "autoGrow_onStartup": false
});</script>

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #4 on: February 07, 2023, 10:24:43 AM »
Einen "zweiten", älteren Ordner mit Namen "syntax_highlight" habe ich nicht. Der Inhalt im Ordner \modules\ckeditor stimmt mit den originalen WebsiteBaker Dateien überein, d.h. da wurde nix verändert. Jetzt bleibt doch eigentlich nur mein Template-Ordner als Fehlerquelle übrig, oder?

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #5 on: February 07, 2023, 02:41:35 PM »
Bedeutet syntaxhighlight_lan g": "php",  dass diese nun wenigstens für die Sprache php funktionieren sollte? Und falls ja, wie und wo müsste ich editieren, um auch html  als "syntaxhighlight_lan g": "html" aktiviert zu bekommen.

Das mal zuerst und separat, sonst vergess ich das...
Das Syntaxhighlight-Plugin kann insgesamt 35 Programmier- und Auszeichnungssprach en highlighten. Dies erfolgt automatisch, d.h. ist das Plugin aktiv, highlightet es all diese 35 Programmiersprachen automatisch. Es muß nichts umgestellt werden, z.b. für HTML oder sass usw
Dazu gibt es in der Explorer-Toolbar ein Fenster zum Einfügen von Code-Abschnitten, erreichbar über diesen Button .
In diesem Fenster ist oben eine Auswahlbox und was dort als Standardwert steht, kann man in der include.php als Favorit einstellen, zur Demo mal auf SASS gestellt.



Nun die wichtigste Frage, denn ich vermute ein Mißverständnis. Geht es dir um farbigen Code im Front- oder Backend?
Im Backend erledigt das das Plugin codemirror

Für das Frontend gab es verschiedene Varianten, über ein extra Modul, über Filter und über Javascript bzw JQuery. Für Letzteres sind im DefaultTemplate noch Fragmente enthalten, aber es fehlen ein paar wichtige Dateien.
Im Prinzip wird über CSS-Klassen gehighlightet. Das oben angeführte Code-Fenster fügt um den Code ein <pre> mit der entsprechenden Klasse ein und JS + CSS machen es dann bunt
Soweit ich weiß, abeiten alle Lösungen mit der Datei shCore.css im jeweiligem Frontend-Template-Ordner oder eben im modules/-Ordner für dieses Addon

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #6 on: February 07, 2023, 04:59:10 PM »
Hab ein wenig getestet.... :-)

für den Effekt im Bild ist die einfachste Lösung das angehängte Modul. Das muß auf jeder Seite als Section angelegt werden, wo du solch bunten Code im Frontend ausgeben möchtest. Im Backend ist außer dem Install des Modul nichts weiter zu tun.

Ob diese Section mit dem SyntaxHighlighter vor oder nach deinem Code kommt, spielt keine Rolle


Ausgabe dann



P.S.: funktioniert auch mit dem Code²-Modul
« Last Edit: February 07, 2023, 05:05:31 PM by sternchen8875 »

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #7 on: February 07, 2023, 05:53:44 PM »
Danke für Deine Unterstützung. Ich meine schon die Syntax-Auszeichnung im Backendbereich (siehe Dein erstes Bild). Im WYSIWYG klickt man auf den Quellcodebutton und dann sollten die HTML-Befehle wie z.B. <td> z.B. grün dargestellt werden und Text z.B. blau. Bei mir ist leider alles schwarz und das macht die Lesbarkeit des Codes etwas schwerer. Und da ich diese Funktion bislang hatte, vermisse ich sie nun jetzt.

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #8 on: February 07, 2023, 05:57:02 PM »
Der Editor ist aber schon zu sehen? Also die Buttons usw?  Mach mal bitte einen Screenshot davon.
mich stört ja, das die Konfiguration aus der include.php zu fehlen scheint

kleiner ProForma-Check: schau mal, ob deine WB_URL in der config.php am Ende einen Slash hat. Falls JA, weg damit

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #9 on: February 07, 2023, 09:50:53 PM »
Leider nein, die von Dir erwähnte Zeile in der config.php sieht wie folgt aus:
Code: [Select]
define('WB_URL',          "https://0815.de/cms"); // no trailing slash or backslash!!!

Anbei noch der Screenshot im pdf-Dokument.

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #10 on: February 07, 2023, 10:45:11 PM »
Danke + verdammt....   :-(

Hast du in der include.php irgendwas geändert? Falls ja, bitte hier mal mit anhängen.
Wenn NEIN, vermute ich die Struktur bei dir, wo WB in einem Unterverzeichnis läuft

Was da fehlt, wäre das Plugin codemirror, aber eben auch noch andere Werte, die nur in der include.php zu finden sind. Alle diese Werte werden über einen Schalter gesteuert, der ist in Zeile 131
Code: [Select]
    $bWbConfigSetting = false;
false wäre das Standard-Setting und man soll es auf true setzen, wenn man weitere wb_ckconfig.js in den Frontend-Templates benutzen möchte. Kontrollier das mal und korrigiere es ggf auf false

P.S.: die alte Versionen der User-eigenen wb_ckconfig.js in den Template-Ordnern haben noch veraltere Definitionen drinnen, vorallem betrifft das die verschiedenen Menüs. Dort gab es vor 2-3 Jahren eine Änderung in der Schreibweise und Anordnung der Menüs.
Zur Reparatur kopiert man die Menüs, die dort benötigt werden aus der Datei modules/ckeditor/wb_config/wb_ckconfig.js und geht dann die Schreibweisen der nachfolgenden Definitionen durch

Offline dbs

  • Betatester
  • **
  • Posts: 8829
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: CKEditor Syntaxhighlight einschalten?
« Reply #11 on: February 07, 2023, 10:46:55 PM »
Hab auch so eine Installation wo der Highlighter nicht funktioniert.
Wegen diesem Thread hab ich nochmal rumprobiert. Alle gefundenen wb_config Ordner in den templates gelöscht.
Hat nicht geholfen. Im DefaultTemplate (was ich natürlich nicht benutze) war auch ein wb_config Ordner von 2021. Den gelöscht und es ging.
Vielleicht hilfts bei dir auch.

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8518
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: CKEditor Syntaxhighlight einschalten?
« Reply #12 on: February 08, 2023, 10:02:58 AM »
Hallo,

hat zwar nix mit dem ursprünglichen Thread zu tun, habe mir aber wegen dem Hinweis von dbs mal das Default Template angeschaut. Bei mir gibt es keinen Ordner wb_config. Die wb_config.js liegt im js-Ordner, ist dort aber mit einem doppelten Unterstrich (wb__config.js) geschrieben. Hat das einen Grund? Wird die so überhaupt erkannt? Sie unterscheidet sich auch erheblich von der wb_config.js, die im modules/ckeditor Verzeichnis liegt. So wie ich das sehe müsste man (die DEVs) sich das mal anschauen.

Matthias

Offline hgs

  • Betatester
  • **
  • Posts: 1799
    • EFG MG
Re: CKEditor Syntaxhighlight einschalten?
« Reply #13 on: February 08, 2023, 10:39:12 AM »
Hab die Anfrage mal mit einer dM an die DEV´s durchgereicht.
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #14 on: February 08, 2023, 11:14:04 AM »
Die wb_config.js liegt im js-Ordner, ist dort aber mit einem doppelten Unterstrich (wb__config.js) geschrieben. Hat das einen Grund? Wird die so überhaupt erkannt?

Nein, wird so nicht erkannt. Gesucht wird in den Frontend-Templates nach einer Datei oder Ordner mit exakten Namen wb_config und nach der wb_ckconfig.js
Der Ordner wb_config in DefaultTemplate war in der Version 2.8.3 SP7 mal Teil des Installationspakete s. Das war damals der erste Einsatz dieses Templates. Wer seitdem fleißig Updates auf Basis dieser Version gezogen hat, schleift den alten Ordner natürlich immer mit. Und wer von einer früheren Version upgedatet hat, ist dann nicht betroffen

Ich hab jetzt mein Archiv mal durchgesucht, eine Datei wb__config (zwei Unterstriche) hab ich da nicht gefunden

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #15 on: February 08, 2023, 11:36:05 AM »
@sternchen8875: An der include.php habe ich nichts verändert (Originalzustand). In der Zeile 131 steht wie bei Dir
Code: [Select]
$bWbConfigSetting = false;Ich habe keine wb_ckconfig.js in meinen Template-Ordnern, außer cms\templates\DefaultTemplate\js\wb__ckconfig.js
Vielleicht ist es tatsächlich wegen der Installation in einem Unterverzeichnis, da bei einer anderen wb-Installation (im Stammverzeichnis) die farbige Codedarstellung funktioniert.

@dbs: Leider habe ich im DefaultTemplate keinen wb_config Ordner welchen ich löschen könnte. Nur die von ruebenwurzel schon genannte cms\templates\DefaultTemplate\js\wb__ckconfig.js

Vielen Dank an alle für Eure tolle Unterstützung.

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4541
  • Gender: Male
Re: CKEditor Syntaxhighlight einschalten?
« Reply #16 on: February 08, 2023, 11:51:42 AM »
Ich habe keine wb_ckconfig.js in meinen Template-Ordnern, außer cms\templates\DefaultTemplate\js\wb__ckconfig.js
Vielleicht ist es tatsächlich wegen der Installation in einem Unterverzeichnis, da bei einer anderen wb-Installation (im Stammverzeichnis) die farbige Codedarstellung funktioniert.

@dbs: Leider habe ich im DefaultTemplate keinen wb_config Ordner welchen ich löschen könnte. Nur die von ruebenwurzel schon genannte cms\templates\DefaultTemplate\js\wb__ckconfig.js

Vielen Dank an alle für Eure tolle Unterstützung.

Die wb__ckconfig.js kann gefahrlos gelöscht werden. Sind wie beschrieben Altlasten und wird beim nächsten Upgrade oder Patch gelöscht.

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #17 on: February 08, 2023, 12:14:28 PM »
ein paar neue Erkenntnisse - jetzt will ich es aber wissen....  :evil:

entgegen früherer Annahmen, das eine Datei oder Ordner mit Namen wb_config nur eingelesen wird, wenn
Code: [Select]
$bWbConfigSetting = false;auf true steht, ist es genau anders herum. Obige Aussagen von mir sind damit falsch.

Die Funktion PreCheck::scanDirTreeIterator() scannt den in den WB-Optionen als Standard eingestellten Template-Ordner. Das für die Seite mit der betroffenen Wysiwyg-Sektion eingestellte Frontend-Template ist unerheblich. Es werden auch nicht alle Template-Ordner gescannt, wie von mir angenommen.

Das Verwenden einer eigenen Version der wb_ckconfig im Haupttemplate ist ohne Probleme möglich, allerdings muß diese Datei mit dem Original im Ordner modules/ckeditor/wb_config verglichen werden. Unterschiede gibt es bei einigen Menüaufrufen (müssen vom Original komplett kopiert werden, können im Anschluß dann in den Einzelpunkten angepasst werden), in ein paar einzelnen Settings (meist true/false-Unterschiede) und in den Plugins - im Anschluß Browsercache löschen

Die Ursache beim Threadersteller Hartmut ist das Fehlen der eingesetzten Plugins, das u.a. eben das Plugin codemirror einbindet, das dieses Syntakhighlighting im Quellcode des CKEditors übernimmt.

Frage an Hartmut: läuft bei dir noch eine Modulversion von wysiwyg_admin?Der Ordner müßte dann im Modules-Verzeichnis zu finden sein oder in den registrierten Addons (siehe Erweiterungen->Modules->Details zum Modul -> Wysiwyg_Admin aus der Liste wählen
« Last Edit: February 08, 2023, 12:21:17 PM by sternchen8875 »

Offline Hartmut

  • Posts: 46
Re: CKEditor Syntaxhighlight einschalten?
« Reply #18 on: February 08, 2023, 01:38:34 PM »
Leider nein. wysiwyg_admin läuft bei mir nicht. Siehe Inhalt des Modules-Ordners im Anhang. Außer foldergallery & wbstats dürfte alles im Originalzustand sein.

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #19 on: February 08, 2023, 04:09:01 PM »
Dank dir!   (Y)

das Problem liegt in der Datei wb_ckconfig.js im Ordner /modules/ckeditor/wb_config und allen weiteren im Projekt eingesetzten gleichnamigen Dateien (siehe ausführungen unten) bzw in der Tatsache, das der Ladevorgang bei einem Fehler direkt abgebrochen wird und das Script mit den Settings aus der include.php des CKEditors weitermacht
Dort werden Plugins bei den extraPlugins angesprochen, die es nicht mehr gibt. Im Speziellen ist es im Original-Code so, das die include.php diese extraPlugins zur Verfügung stellt, dann die CKEditor-eigene wb_ckconfig läd, in der Definition dieser extraPlugins einen gültigen Eintrag findet (filebrowser) und damit  die Festlegungen der include.php überschreibt, dann kommt es aber zum nächsten zu ladenen Plugin "liststyle", findet es nicht und das Laden wird abgebrochen. 
Da ein CKEditor-Upgrade keine Plugins löscht, hat der Eine oder Andere diese noch im Plugins-Ordner und ist dann nicht betroffen.

Aber fangen wir mit dem Grundsätzlichem an:
Vergeßt bitte das meiste, was ich oben behauptet habe, nicht alles ist korrekt.

#1: es ist nach wie vor möglich, jedem eingesetzten Frontend-Template eine eigene Datei wb_ckconfig.js mit separaten Einstellungen zu liefern, wenn diese entsprechend unten angeführter Anleitung korrigiert wurden und wenn sich diese Datei im Hauptverzeichnis des jeweiligen Templates befindet. Die Ladereihenfolge wäre
1 = include.php
2 = modules/ckeditor/wb_config/wb_ckconfig.js
3 = templates/wb_config/wb_ckconfig.js (wenn vorhanden)
4 = templates/DefaultTemplate/wb_ckconfig.js (oder jedes andere eingesetzte Frontend-Template)

Nummer 3 ist eher eine globale, aber dennoch private Einstellung des Benutzers, die bei einem Upgrade nicht überschrieben wird
Nummer 4 ist spezifisch für dieses Template gedacht und überschreibt #3. Damit wäre es z.b. möglich, einer News-Seite nur eine kleine Toolbar zu geben, die z.b. nur ein Font-Styling erlaubt, damit die Benutzergruppe dort nichts anderes machen kann

#2: möglich ist weiterhin ein Ordner wb_config im Ordner /templates, der alle Konfigurations-Files des Editors enthält. Auch hier muß dann diese wb_ckconfig.js angepasst werden

#3: die Reparatur der Datei wb_ckconfig.js im Ordner modules/ckeditor/wb_config (und, wenn verwendet, in den templates Ordners)

das (aktuell nicht funktionierende Original)
Code: [Select]
config.extraPlugins   =
                            'filebrowser'
                          + ',liststyle'
                          + ',pastefromword'
                          + ',table,tabletools'
                          + ',syntaxhighlight'
                          + ',wblink'
                          + ',wbdroplets'
                          + ',wbabout'
                          + ',wboembed'
                          + ',wbrelation'
//                          + ',emoji'
                          + '';

Hier sind einige Plugins genannt, die nicht mehr Bestandteil sind, z.b. liststyle oder pastefromword

der korrigierte Block (es dürfen nur Plugins verwendet werden, die sich auch im Ordner modules/ckeditor/ckeditor/plugins befinden

Code: [Select]
     config.extraPlugins   =
                            'filebrowser'
                          + ',codemirror'
                          + ',syntaxhighlight'
                          + ',wblink'
                          + ',wbdroplets'
                          + ',wbabout'
                          + ',wboembed'
                          + ',wbrelation'
//                          + ',emoji'
                          + '';

Das Plugin "emoji" ist dabei optional, wer es haben möchte, muß die Auskommentierung entfernen (//)

Die gleiche Reparatur ist auch für die Definition der RemovedPlugins erforderlich

das kaputte Original

Code: [Select]
    config.removePlugins  =
                            'link'
                          + ',backup'
                          + ',oembed'
                          + ',pagebreak'
                          + ',save'
                          + ',shybutton'
                          + ',wbsave'
                          + '';

die Korrektur

Code: [Select]
    config.removePlugins  =
                            'link'
                          + ',pagebreak'
                          + ',save'
                          + '';

Wichtig: nach Änderungen an diesen JS-Dateien immer den Browser-Cache löschen

Online sternchen8875

  • Posts: 314
Re: CKEditor Syntaxhighlight einschalten?
« Reply #20 on: February 08, 2023, 04:22:49 PM »
Noch ein Nachtrag, fast vergessen...
der Schalter in der include.php des ckeditors / Zeile 131
Code: [Select]
$bWbConfigSetting = true; // default == false ist nur wirksam, wenn sich kein Ordner wb_config im /templates-Ordner befindet. Mit diesem Schalter lassen sich dann alle eventuell vorhandenen wb_ckconfig.js in den Template-Ordner deaktivieren (wenn true)
Standardmäßig ist die Nutzung dieser Dateien in den Templates aber aktiviert.

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8518
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: CKEditor Syntaxhighlight einschalten?
« Reply #21 on: February 08, 2023, 06:35:23 PM »
Hallo,

basierend auf den obigen threades habe ich mal ein kleines Cleaning und Reparatur Paket zusammengestellt.

!!! Gilt nur für WB.2.13.3 r166 !!!

Inhalt:
- entfernt alte Plugins im CKEditor
- entfernt die wb__ckconfig.js im DefaultTemplate
- repariert den Bereich der Plugins in der ckeditor/wb_config/wb_ckkonfig.js

Anwendung:
CKEditor_cleaning.z ip in die Root des Servers laden
unzip.php in die Root des Servers laden (fallas nicht vorhanden)
unzip.php aufrufen (www.deinedomäne.de/unzip.php)
Nach dem Entpacken im Backend anmelden und oben den blauen Info Button aufrufen
Bei den "Maintenances Tools" über den Menüpunkt "Upgrade WebsiteBaker" ein Upgrade durchführen

Viel Spaß
Matthias



Offline hgs

  • Betatester
  • **
  • Posts: 1799
    • EFG MG
Re: CKEditor Syntaxhighlight einschalten?
« Reply #22 on: February 08, 2023, 08:06:31 PM »
Danke Matthias, Danke sternchen8875
Eine Frage habe ich zu dem Thema

Wenn bei meiner Neuinstallation alles richtig angezeigt wird,
 
https://gyazo.com/294dd9bf9aeab150755547724353bdc4
sind die Änderungen dann auch nötig?

LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Offline ruebenwurzel

  • Betatester
  • **
  • Posts: 8518
  • Gender: Male
  • Keep on Rockin
    • Familie Gallas Online
Re: CKEditor Syntaxhighlight einschalten?
« Reply #23 on: February 08, 2023, 08:38:59 PM »
Hallo,

Bei einer Neuinstallation ist nur ein Teil der Änderungen notwendig. Mein Cleaning-script besteht aus zwei Teilen. Zum einen werden nicht mehr benötigte Plugins früherer Installationen entfernt. Diesen Teil braucht es bei einer Neuinstallation nicht. Der zweite Teil ist der Fix für die wb_ckconfig.js. Den solltest du auch bei einer Neuinstallation machen.

Es schadet ja nicht den Script laufen zu lassen. Ich empfehle den Script auch bei einer Neuinstallation. Nebenbei enthält er auch noch einen kleinen Fix des upgrade-Scriptes.

Offline Hartmut

  • Posts: 46
[gelöst] CKEditor Syntaxhighlight funktioniert wieder
« Reply #24 on: February 08, 2023, 09:46:12 PM »
Juhu, besten dank. Endlich wieder bunter Code  8-)    (Y)

 

postern-length