MyBB.de Forum

Normale Version: My spoiler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
(18.10.2020, 12:58)loo ping schrieb: [ -> ]hallo

ich habe mit dem plugin ( My spoiler 1.2.2 ) ein problem:
anstelle eines einfügen-buttons wird der code dafür im textfeld eingefügt ...


hat jemand eine idee, was da falsch läuft ?

vielen dank

MyBB Version: 1.8.24
PHP Version: 7.3.22
SQL Engine: MySQLi 5.7.31
keine weiteren plugins aktiv ...

Habe das gleiche Problem, dass der Button nur als Code im Textfeld angezeigt wird

MyBB Version: 1.8.26
PHP: 7.4.14
SQL: MySQLi 5.7.28
ich habe noch den Zeichenzähler und TableGenerator im Editor aktiv, beisst sich das evtl?

Danke

Edit: ich denke es liegt daran, dass beim Schreiben des Codes ein <div> zu früh geschlossen wurde oder so.
Kann mir jemand sagen, wo ich das anpassen kann?

Lösung: (ich bin kein Profi, daher korrigiert mich bitte, falls ich falsch liege, aber bei mir hat es geklappt)
  • Öffne/jscripts/spoiler.js
  • suche diesen Bereich
    Code:
    <textarea type="text" id="spoilerdesc" /></div>
  • ersetze das
    Code:
    </div>
    mit
    Code:
    </textarea>
  • speichern und neu hochladen
Ich habe leider ein Problem mit dem Plugin und versuche das jetzt bereits seit 3 Tagen zu lösen.
Siehe hierzu auch Thread by mybb.com: https://community.mybb.com/thread-241271...pid1394993

Ich wollte den Spoiler im WYSIWYG Modus des SCEditor etwas anders Stylen und habe folgende Zeile noch eingefügt:
Code:
'<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler: ' + i.defaultattr + '</div><br />' +

Leider wird diese jedoch jedesmal umgewandelt/hinzugefügt wenn ich von der Source in die WYSIWYG Ansicht wechsle.

Ich habe mir den Code jetzt versucht anzupassen das er abhängig von Source/WYSIWYG Ansicht unterschiedliches HTML ausgibt:
Code:
// Set spoiler format
e.sceditor.formats.bbcode.set("spoiler", {
    isSelfClosing: false,
    isInline: false, // Block-level element
    isHtmlInline: undefined,
    allowedChildren: null,
    allowsEmpty: false,
    excludeClosing: false,
    skipLastLineBreak: true, // Prevent adding a line break after the tag
    strictMatch: false,
    format: function(i, t) {
        t = e("div#spoilerc");
        return "undefined" != typeof attrs.defaultattr ? "[spoiler=" + attrs.defaultattr + "]" + t + "[/spoiler]" : "[spoiler]" + t + "[/spoiler]";
    },
    html: function(e, i, t) {
        var isInSourceMode = false;
        //var isInSourceMode = MyBBEditor.inSourceMode();

        if(isInSourceMode) {
        return "undefined" != typeof i.defaultattr ?
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler: ' + i.defaultattr + '</div><br />' +
            '<span style="display: none;">[spoiler=' + i.defaultattr + ']</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
            '</div>' :
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px; background-color: #007FD0; color:#FFFFFF;">Spoiler</div><br />' +
            '<span style="display: none;">[spoiler]</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
            '</div>';
        } else {
        return "undefined" != typeof i.defaultattr ?
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
            '<span style="display: none;">[spoiler=' + i.defaultattr + ']</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
            '</div>' :
            '<div style="border: 1px solid #ccc; border-radius: 4px; padding: 10px;">' +
            '<span style="display: none;">[spoiler]</span>' + t + '<span style="display: none;">[/spoiler]</span>' +
            '</div>';
        }
    },
    breakBefore: false,
    breakStart: false,
    breakEnd: false,
    breakAfter: false,
});

Wenn ich aber
Code:
        var isInSourceMode = false;

Ersetze durch z.b.
Code:
var isInSourceMode = MyBBEditor.inSourceMode();

oder
Code:
var isInSourceMode = instance.inSourceMode();
oder
Code:
var isInSourceMode = e.inSourceMode();
Dann funktioniert der Editor nicht mehr richtig / Textfeld ist blank.

Ich bin total am verzweifeln. bei Mybb.com sowie dem SCEditor Autor habe ich bislang leider weder hilfe geschweige denn eine Rückmeldung erhalten. Auch beim Autor dieses Plugins habe ich via. PN bei mybb.com Nachgefragt und leider keine Rückmeldung erhalten.

Kann mir hier jemand helfen? Bin kurz davor zu kapitulieren.
(Bin leider mit dem SCEditor auch nicht vertraut und auch nicht besonders bewandert mit Javascript)

Im Anhang noch ein paar Bilder von dem Problem.

Es betrifft die spoiler.js vom Plugin.
Eine neue Version wurde veröffentlicht: My spoiler 1.2.4
Seiten: 1 2 3