Page 8 of 15
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 5:46 pm
by Tata
Hm, das würde verlangen in TInyMCE4 core reinträten. Das lohnt sich wohl nicht.
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 6:17 pm
by Tata
Wenn die Zeile von
Code: Select all
editor.insertContent('<div class="xhplugincall mceNonEditable">{{{' + e.data.title + '}}}</div>')
zu
Code: Select all
editor.insertContent('<span class="xhplugincall mceNonEditable">{{{' + e.data.title + '}}}</span>')
geändert ist, geht es den Aufruf mit SPAN reingeben.
Soll aber ein Plugin in einer neuer Zeile selbst stehen, muss man:
1. zwei leere Seiten anlegen
2. In die erste der Zeilen den Aufruf eingeben
3. In der zweite dann weiter arbeiten
Auch akzeptable...
AUsserdem, kann man dann im mytemplate/stylesheet.css, wenn nötig
zusätztlich wasimmer einstellen.
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 6:34 pm
by cmb
Bin leider wieder auf dem Sprung, aber was passiert denn, wenn man überhaupt kein Element angibt, sondern eben nur den reinen Pluginaufruf einfügt?
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 6:54 pm
by frase
cmb wrote: ↑Tue Sep 25, 2018 6:34 pm
aber was passiert denn, wenn man überhaupt kein Element angibt, sondern eben nur den reinen Pluginaufruf einfügt?
Dann ist alles wieder so wie vorher.
Wir brauchen die Klassen "xhplugincall" und "mceNonEditable" um es optisch hervorzuheben und vor versehentlichen Änderungen zu schützen. Irgendein Element für die Klassen muss also her.
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 7:25 pm
by Tata
Ich meine, dass die allerechte Enduser, für die jemand eine Webseite einrichtet (ich schätze 80%), können die Webseite mit ausgeschaltetem Plugin bekommen. Die werden kaum in TinyMCE4 Konfiguration reinträten. D.h., die werden kaum selbst ein Pluginaufruf reingeben versuchen. Sie werden aber sehen, dass es auf der Seite ein Aufruf gibt. Werden aber von einer unabsichtlichen Beschädigung geschützt. Und das ist die Hauptsache.
Eine Konfiguration mit init_full.js (mit allen pi-pa-po) wird dann nur für einen CMSimple_XH_beherschenden Webmaster. Für Amateure, die höchstens Texte schreiben oder Bilder hochladen und reinplatzieren können stelle ich meistens nur init_medium.js (seit jetzt ohne xhplugincall).
Das schliesst genugend aus, dass die etwas an Pluginsaufrufe verpfuschen oder einen leeren Aufruf rein geben. Jedenfalls ist der Code jetzt mehr übersichtlich.
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 8:19 pm
by Tata
Noch habe ich darauf gestossen, dass, falls benutzte WebseiteSprache unter TinyMCE4 gibt, sollte "en" default benutztbar sein.
Ich habe unbenutzte Sprachen gelöscht und wollte es mit z.B. "ru" versuchen. Statt "en" zu loaden, kamm die Warnung
Da sollte wohl das da angepasst sein
Code: Select all
var lang = document.getElementsByTagName("html")[0].getAttribute("lang");
if (lang !== 'en')
tinymce.PluginManager.requireLangPack('xhplugincall', lang);
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 10:16 pm
by cmb
frase wrote: ↑Tue Sep 25, 2018 6:54 pm
Wir brauchen die Klassen "xhplugincall" und "mceNonEditable" um es optisch hervorzuheben und vor versehentlichen Änderungen zu schützen. Irgendein Element für die Klassen muss also her.
Da hast du natürlich recht!
Ich hab mir das mal näher angeschaut – leider ohne praktikablen Lösungsansatz. Vielleicht ist es zumindest fürs erste das beste, wenn wir inline Pluginaufrufe einfach ignorieren, und eben immer <div>en. Das sollte wohl wenigstens 90% der Anwendungsfälle abdecken, und verhindert möglicherweise problematisches HTML ala <p><span class="xhplugincall mceNonEditable"><div><form>. Und zumindest sieht der Anwender dann gleich, dass das Inlinen nicht möglich ist.
Re: Highlight plugin calls
Posted: Tue Sep 25, 2018 10:40 pm
by Tata
Nun,
finde ich nicht problematisch. Es ist schon ganz üblich so. Oder?
Die Variante mit
Code: Select all
editor.insertContent('<span class="xhplugincall mceNonEditable">{{{' + e.data.title + '}}}</span>');
und dem Hint, dass es muss erst 2 Zeile geben, um den Aufruf in die erste und den Rest ab der zweiten scheint mir als sinnvolle Lösung. So können z.B. die userfuncs inline und die Pluginaufrufe separat stehen.
Z.B.:
Code: Select all
<p>Text <span class="xhplugincall mceNonEditable">{{{userfunction}}}</span>') Text.</p>
<p><span class="xhplugincall mceNonEditable">{{{PluginAufruf}}}</span></p>
<p>Text</p>
Bei mir sieht der Test so
xhplugincall.png
Re: Highlight plugin calls
Posted: Wed Sep 26, 2018 6:26 am
by frase
cmb wrote: ↑Tue Sep 25, 2018 10:16 pm
Vielleicht ist es zumindest fürs erste das beste, wenn wir inline Pluginaufrufe einfach ignorieren, und eben immer <div>en. Das sollte wohl wenigstens 90% der Anwendungsfälle abdecken, und verhindert möglicherweise problematisches HTML ala <p><span class="xhplugincall mceNonEditable"><div><form>. Und zumindest sieht der Anwender dann gleich, dass das Inlinen nicht möglich ist.
Ich stimme dir zu.
Wir sollten zurückkehren zur <div>Version - so wie es war, bevor ich diese dämliche <span>Frage gestellt habe.
Ohne Plugin war es ja auch so, dass der Benutzer den Aufruf in den Editor kopiert hat und der hat dann
immer ein Block-Element daraus gemacht. Mal <p> mal <div> - je nachdem.
Für die seltenen Fälle, die <span> erfordern, muss das eben von den Bereitstellern (Plugin oder Funktion) dokumentiert werden.
Insofern ändert sich ja gar nichts zu vorher.
Nur wird es durch das Editor-Plugin im Standard-Fall bequemer einen Aufruf einzufügen. Und - wichtig - der Aufruf ist als "etwas Besonderes" optisch erkennbar und nicht mehr so leicht unbeabsichtigt zu verfälschen.
Ziel erreicht - und gut!
Die Diskussion war zwar zäh aber trotzdem erfolgreich
Dank euch allen!
Re: Highlight plugin calls
Posted: Wed Sep 26, 2018 6:43 am
by Tata
Ich bin nicht "drin" genug, um zu verstehen, ob oder was am ContentCode falsch ist. Mit
Code: Select all
onsubmit: function (e) {
editor.insertContent('<span class="xhplugincall mceNonEditable">{{{' + e.data.title + '}}}</span>');
}
bekomme ich volgendes (screenshot oben):
Code: Select all
<h1>Start</h1>
<p>Congratulations on successfully <span class="xhplugincall mceNonEditable">{{{UserFunktion}}}</span> installing<strong> CMSimple_XH</strong>.
If this text is displayed, you have done everything right. Now you should do some basic settings, then you can start building your own website immediately.</p>
<p><span class="xhplugincall mceNonEditable">{{{PluginAufruf}}}</span></p>
<h2>Login</h2>
<p>To make changes to the system at all, you’ll have to log in. To do this, click <a href="?&login">Login</a> at the bottom. (The login link is usually placed in the footer.) The standard password is set to <code>test</code>. By doing this you reach the admin mode, sometimes called “backend”.</p>
Ist da etwas falsch?