WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 03.03.2020 10:02:23

giz
Mitglied

[Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Hallo zusammen!

Ich habe in der editor.css meines Templates (fragstan) eigene Klassen erstellt.
An welchen Schrauben muss ich drehen, damit diese:

  1. im CKE im BE im Reiter Format angezeigt werden,

  2. (hängt wahrscheinlich zusammen) nicht mehr, wenn ich diese Klassen im Quelltexteditor eingebe, gelöscht werden? (sie werden nach Eingabe und Speichern zwar im FE angezeigt, aber im CKE sind sie dann sowohl in der Quelltext-, als auch in der Normalansicht verschwunden....)

Das Anpassen des CKEs ist für mich ein Buch mit sieben Siegeln; das Fehlen einer vernünftigen deutschen Anleitung tut da ihr übriges.
Danke


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

#2 03.03.2020 12:26:55

florian
Administrator

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Also Klassen filtert der CKE eigentlich nicht raus. Ich habe auf vielen Seiten selbst definierte Bezeichnungen im Sourcecode und die bleiben da auch nach dem Speichern drin.

Wie man die Styles in die Toolbar hereinbekommt, also entweder die Auswahl "Stil" aktiviert oder "Format" ergänzt, weiß ich allerdings nicht.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 03.03.2020 13:55:32

boeseroeser
Gast

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Das würde mich auch interessieren.

Ich habs mal probiert, mich da einzuarbeiten, es kam mir sehr kompliziert vor. Zumal der CKEditor auch gerne mal im Cache feststeckt und man daher nicht immer sagen kann, ob die letzte Aktion etwas bewirkt hat.

#4 03.03.2020 14:03:14

colinax
Developer

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Hi,

die editor.css passt nur die Darstellung des CKE im BE an und einfache Elemente wie h1 usw.

Für die Format Liste ist die editor.styles.js zuständig

giz schrieb:

Das Fehlen einer vernünftigen deutschen Anleitung tut da ihr übriges.

Da muss ich widersprechen eine einfache Anleitung mit allen notwendigen Info und Anleitungen ist vorhanden und nennt sich README.md

Offline

#5 03.03.2020 14:08:21

florian
Administrator

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Die README ist auf englisch  cool
Das merkwürdige ist, dass die Style-Auswahl deaktiviert ist. Egal, ob es eine styles.js oder editor.styles.js im Verzeichnis /templates/wb_config gibt. Ich habe auch schon versucht, das CKE-Plugin stylescombo zu installieren/aktivieren, das scheint nämlich die Voraussetzung für die styles-Auswahl zu sein, aber auch das ist mir nicht so recht gelungen.
Es wäre daher lieb, wenn Du eine kurze Beschreibung posten könntest, wie vorzugehen ist. Es kann ja sein, dass in der README noch bestimmte Angaben fehlen oder bestimmte Features nur mit der Developer Edition gehen...?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

giz

#6 03.03.2020 15:04:16

giz
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

colinax schrieb:

Hi,

die editor.css passt nur die Darstellung des CKE im BE an und einfache Elemente wie h1 usw.

Für die Format Liste ist die editor.styles.js zuständig

giz schrieb:

Das Fehlen einer vernünftigen deutschen Anleitung tut da ihr übriges.

Da muss ich widersprechen eine einfache Anleitung mit allen notwendigen Info und Anleitungen ist vorhanden und nennt sich README.md

Mit vernünftig meinte ich eine ausführliche Anleitung (um zB mein Vorhaben zu lösen); und alle (!) notwendigen Infos sind in der readme beileibe nicht vorhanden (wobei man über "notwendig" diskutieren kann, muss man aber nicht wink ) Aber dafür ist so eine Readme meines Erachtens ja auch nicht da; deshalb ja meine Aussage, bzw. mein Lamentieren über eine fehlende (ausführliche) Anleitung.

Nichtsdestotrotz habe ich mich auch schon Stunden mit der editor.styles.js /editor.js /stylescombo (ist ja wohl vorhanden, aber deaktiviert) usw. versucht auseinanderzusetzen, aber.... roll immer ohne für mich erfolgreiches Ergebnis. Ich raff' das einfach nicht.


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

#7 03.03.2020 15:16:06

colinax
Developer

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

florian schrieb:

Die README ist auf englisch

DeepL, Google Übersetzer sollte helfen können

florian schrieb:

Das merkwürdige ist, dass die Style-Auswahl deaktiviert ist. Egal, ob es eine styles.js oder editor.styles.js im Verzeichnis /templates/wb_config gibt. Ich habe auch schon versucht, das CKE-Plugin stylescombo zu installieren/aktivieren, das scheint nämlich die Voraussetzung für die styles-Auswahl zu sein, aber auch das ist mir nicht so recht gelungen.

Die Style-Auswahl ist deaktiviert seitdem als Fallback die entsprechenden CKE Core Files verwendet werden und das stylescombo Plugin ist ein Core Modul und fix drinnen.

florian schrieb:

Es wäre daher lieb, wenn Du eine kurze Beschreibung posten könntest, wie vorzugehen ist. Es kann ja sein, dass in der README noch bestimmte Angaben fehlen oder bestimmte Features nur mit der Developer Edition gehen...?

Eigene Formate können über die  editor.styles.js (z.B.) folgend definiert werden:

CKEDITOR.addStylesSet( 'wb',
[
    { name : 'xBlue Title'       , element : 'h3', attributes  : { 'class' : 'marker-blue' } },
    { name : 'xRed Title'        , element : 'h3', attributes  : { 'class' : 'marker-red' } },
]);

Wichtig ist dass der Name des CKEDITOR.addStylesSet nur wb lauten darf, darin liegt auch das Problem mit der styles.js die als Namen default verwendet.

Offline

Liked by:

florian

#8 03.03.2020 18:22:22

giz
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Danke schonmal,

und diese editor.styles.js packe ich dann in den /templates/meintemplate -Ordner? Richtig?
Muss ich noch irgendwo was konfigurieren, damit die vom CKE benutzt wird?
Denn laut Debugger wird die bei mir nicht geladen und der Stile-Button bleibt grau und nicht benutzbar. Auch wenn ich den Inhalt der Originaldatei nehme. (und das dort vorhandene  CKEDITOR.stylesSet.add( 'default' , zu deinem CKEDITOR addStylesSet( 'wb' , ändere)
oder caching-Problem? Aber mehr als 10x Daten, Cookies löschen und Seite hart aktualisieren geht halt nicht. Ok, 11x..... smile
lg
PS: wenn man genau hinsieht ist der Button beim Neuladen der Seite für einen kurzen Moment sichtbar und dann wieder weg..^^

grrrrrrrrrrrrrrrrr
mein Fehler, habe ein Komma vergessen, deshalb wurde das script nicht geladen.... monkey
jetzt funktioniert's, danke nochmal

Beitrag geändert von giz (03.03.2020 19:31:56)


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

#9 04.03.2020 09:08:08

giz
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Ich geb's ja nicht auf, aber Punkt 2 von #1 ist noch ungeklärt. Das selbsttätige Löschen des CKE von eigenen Eingaben.

Gebe ich im Quelltext zb.folgendes ein:

<div class="responsiveVideo">
<video autobuffer="" controls="" poster="https://www.tld.tld/media/video/bild.jpg" height="auto" src="https://www.tld.tld/media/video/video.mp4" type="video/mp4" width="100%">
<div>Schade &ndash; hier k&auml;me ein Video, wenn Ihr Browser HTML5 Unterst&uuml;tzung h&auml;tte, wie z.B. der aktuelle Firefox</div>
</video>
</div>

und schalte dann die Ansicht um wird daraus:

<div class="responsiveVideo">
<div>Schade &ndash; hier k&auml;me ein Video, wenn Ihr Browser HTML5 Unterst&uuml;tzung h&auml;tte, wie z.B. der aktuelle Firefox</div>
</div>

Passiert auch bei anderen Eingaben.
Daneben kommt es auch vor, dass beim Umschalten von Quelltextansicht auf Normalansicht ein <p>&nbsp;</p> an der Stelle des Cursors eingesetzt wird; schalte ich also ein paar mal um, stehen dann eben viele <p>&nbsp;</p> untereinander.  roll


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

#10 04.03.2020 09:22:42

florian
Administrator

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

<video> ist keine Klasse., sondern ein Tag.
<div class="responsiveVideo"> -> da wäre die Klasse responsiveVideo.
Allerdings bleibt, wenn ich das teste, der <video>-Tag auch nach dem Umschalten der Ansicht erhalten.

Handelt es sich bei der Seite, bei der Du dieses Phänomen beobachtest, möglicherweise um eine ursprünglich von WB migrierte Website, deren CKE deutlich restriktiver eingestellt ist als unserer, bzw. kann es sein, dass da deshalb oder aus anderen vorherigen Tests noch irgendwo eine config.js herumschwirrt, die den CKE dazu veranlasst, die Tags zu löschen?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#11 04.03.2020 09:23:36

ice
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Ich habe mal deinen Quellcode bei mir in den CKE eingegeben ... da bleibt alles erhalten. Ich nutze den CKE Developer Edition.

Offline

#12 04.03.2020 10:16:29

giz
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Seite neu aufgesetzt mit damals wbce 1.3.3, jetzt 1.4.2, nichts migriert. CKE Dev 1.13.1
es gibt neben meiner wb_ckconfig.js in templates/meintemplate
"Deaktivieren der standardmäßig aktivierten Autovervollständigung von html-tags <>"

CKEDITOR.editorConfig = function( config )
{
    config.codemirror = {
        autoCloseBrackets: false,
        autoCloseTags: false,
    };
};

eine modules/ckeditor_dev/ckeditor/config.js

/**
 * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
 */

CKEDITOR.editorConfig = function( config ) {
    /* Protect PHP code tags (<?...?>) so CKEditor will not break them when switching from Source to WYSIWYG.
     * Uncommenting this line doesn't mean the user will not be able to type PHP code in the source.
     * This kind of prevention must be done in the server side, so just leave this line as is. */
    config.protectedSource.push(/<\?[\s\S]*?\?>/g); // PHP Code
    
    //disable ckes Advanced Content Filter (ACF) to avoid wblinks to be filtered?
    config.allowedContent = true;
    
    // All content will be pasted as plain text.
    config.forcePasteAsPlainText = true;
    
    // Only Microsoft Word content formatting will be preserved.
    config.forcePasteAsPlainText = 'allow-word';
	
	
};


CKEDITOR.on('instanceReady', function (ev) {
    ev.editor.dataProcessor.htmlFilter.addRules( {
        elements: {
            $: function (element) {
                // Output dimensions of images as width and height
                if (element.name == 'img') {
                    var style = element.attributes.style;
                    if (style) {
                        // Get the width from the style.
                        var match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec(style),
                            width = match && match[1];
                        // Get the height from the style.
                        match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec(style);
                        var height = match && match[1];
                        if (width) {
                            element.attributes.style = element.attributes.style.replace(/(?:^|\s)width\s*:\s*(\d+)px;?/i, '');
                            element.attributes.width = width;
                        }
                        if (height) {
                            element.attributes.style = element.attributes.style.replace(/(?:^|\s)height\s*:\s*(\d+)px;?/i, '');
                            element.attributes.height = height;
                        }
                    }
                }
                if (!element.attributes.style)
                    delete element.attributes.style;
                return element;
            }
        }
    });
});

vlt liegt's ja daran.
Gerne auch Zugangsdaten per PN, schonmal danke für die Denkanstöße


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

#13 04.03.2020 10:21:34

florian
Administrator

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Ändert sich was, wenn du die Zeilen

config.protectedSource.push(/<\?[\s\S]*?\?>/g); 
config.allowedContent = true;
config.forcePasteAsPlainText = true;
config.forcePasteAsPlainText = 'allow-word';

mal in die  wb_ckconfig.js in templates/meintemplate
vor dem letzten

}; 

einfügst?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#14 04.03.2020 11:42:15

giz
Mitglied

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

thumb_up
Sieht gut aus; soweit ich das bis jetzt mal durchtesten konnte, werden die Eingaben nicht mehr gelöscht.
Ein Hoch auf den Heiler! lol
Danke


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Online

Liked by:

florian

#15 05.03.2020 00:27:48

colinax
Developer

Re: [Erledigt] Anzeige eigener Klassen -bzw Löschen verhindern

Hab's jetzt mal durch gesehen, die Readme stimmt soweit und beinhaltet alles was man braucht.

Durch die Fallback Änderung passt das Wording einzelner Sätze nicht mehr, wird mit dem nächsten Release korrigiert.

Offline

Fußzeile des Forums

up