TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Erweiterungen
Gonzo Gates
Posts: 194
Joined: Thu 19. Jan 2023, 21:46

TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gonzo Gates »

Hallo Gemeinde,

ich hätte da gerna mal ein Problem mit TinyMCE.

Ich habe innerhalb eines Textes einen Link auf ein Bild, das sich dann modal öffnet

Code: Select all

<p>Meterbrot in Scheiben geschnitten, Ofenkartoffeln, <a class="shutter" title="Pommes Schranke" href="../userfiles/images/2_Pfannengerichte/Pommes_Schranke_800.png">Pommes</a></p>
Als erstes mal 'plugin:col_ovlFrame()' aus Plugin 'Collection,2023122201,1.6.4' in Tiny normal eingefügt

Code: Select all

{{{plugin:col_ovlFrame('krsei1','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling im Zeitraffer1','dor','150px');}}}
und heraus kam

Code: Select all

<div>{{{plugin:col_ovlFrame('krsei1','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling im Zeitraffer1','dor','150px');}}}</div>
Ich dachte, dass ich es dann auch mit 'plugin:col_ovlFrame()' innerhalb eines Textes mit einem Video machen könnte, wie mit einem Bild. Ziel:

Code: Select all

<p><a href="?Hidden_Site___Video-Abteilung&ovlOutputkrsei1">Kräuterseitling</a> im Zeitraffer1</p>
Dazu habe ich die 'content.php' direkt editiert.

Versuch1:

Code: Select all

<p>{{{plugin:col_ovlFrame('krsei2','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer2</p>
Tiny macht daraus, wenn man es aufruft

Code: Select all

<div>{{{plugin:col_ovlFrame('krsei2','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer2</div>
im Seitenquelltext

Code: Select all

<div><a href="?Hidden_Site___Video-Abteilung&ovlOutputkrsei2">Kräuterseitling</a> im Zeitraffer2</div>
Nochmal umgeschrieben in

Code: Select all

<p><div>{{{plugin:col_ovlFrame('krsei2','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}}</div> im Zeitraffer2</p>
Dieser Versuch führte auch nicht zum gewünschten Ergebnis

Code: Select all

<div>{{{plugin:col_ovlFrame('krsei2','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer2</div>
Ich kann es nicht mehr in meiner Hektik nachvollziehen, aber ich hatte auch

Code: Select all

<div>{{{plugin:col_ovlFrame('krsei2','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}}</div><p> im Zeitraffer2</p>
im Angebot

Mein Versuch mit span-Tags ging auch in die Hose

Code: Select all

<p><span>{{{plugin:col_ovlFrame('krsei3','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}}</span> im Zeitraffer3</p>
Das fuktioniert auch, wenn man von Tiny die Finger weg lässt, wie gewollt, aber daraus macht Tiny beim Aufruf

Code: Select all

<div>{{{plugin:col_ovlFrame('krsei3','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer3</div>
Da hab' ick mir mal janz blöde jestellt und hab' folgjendes einjejeben (Ich darf das so schreiben, weil meine Schwiejereltern Berliner sind, weeste)

Code: Select all

<h4>{{{plugin:col_ovlFrame('krsei4','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer4</h4>
Daraus hat Tiny das gemacht

Code: Select all

<h4>{{{plugin:col_ovlFrame('krsei4','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor','150px');}}} im Zeitraffer4</h4>
und im Seitenquelltext sieht es so aus

Code: Select all

<h4><a href="?Hidden_Site___Video-Abteilung&ovlOutputkrsei4">Kräuterseitling</a> im Zeitraffer4</h4>
Zu sehen unter http://dorilaraukft.bplaced.net/sites/C ... -Abteilung unter 'Test 'plugin:col_ovlFrame()' im Text einzubinden'

Jetzt zur Sache: Ich stehe ganz kräftig auf dem Schlauch. In der Tiny-Konfig habe ich nichts gefunden, außer dass in Zeile 5 in meiner 'CMSroot/plugins/tinymce/inits/init_dor.js' (Kopie von 'CMSroot/plugins/tinymce/inits/init.js' mit meinen Änderungen) p-Tags auch als Blockformate definiert sind.

Code: Select all

block_formats: "Header 1=h1;Header 2=h2;Header 3=h3;Header 4=h4;Header 5=h5;Header 6=h6;Div=div;Paragraph=p;code=code;pre=pre"
In der 'CMSroot/plugins/tinymce/init.php' habe ich auch nichts aufregendes gefunden. und bei 'CMSroot/plugins/tinymce/tinymce/tinymce.min.js' finde ich mich mal gar nicht zurecht.
Wieso kann ich 'plugin:col_ovlFrame()' nicht in p-Tags einfügen, ohne das Tiny mir in die Suppe spuckt? Das zerballert mir nämlich einen Absatz wie folgenden

Code: Select all

<p>Text, Text, Text<br>Text, Text, plugin:col_ovlFrame(...Linktext...)<br>Text, Text, Text</p> 
Gruß
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat :!:
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gert »

Standard Antwort: Bei mir funktioniert's:

https://www.ge-webdesign.de/cmsimpletem ... ginaufrufe

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gonzo Gates
Posts: 194
Joined: Thu 19. Jan 2023, 21:46

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gonzo Gates »

Hallo Gert,

das oben beschriebene war reproduzierbar und ich verstehe nicht, warum sich die h4-Tags anders benehmen. Hast du eine Idee?

Dann habe ich mir die Beschreibug für das Einfügen von 'plugin:col_ovlFrame()' von deiner Beschreibung nochmal zu Herzen genommen und an meine Site angepasst. Tiny hat daraufhin folgendes gemacht

Code: Select all

<p>Text vor dem Pluginaufruf {&zwi;{{plugin:col_ovlFrame('imp1','../101_Impressum/?Impressum&amp;print','Impressum »','bright');}}} Text nach dem Pluginaufruf</p>
Und zwar jedesmal, auch wenn ich die '&zwi;'-Entität geloscht habe.
Den selben Aufruf, mit angepasster ID habe ich dann nochmal eingefügt und dann kam dass heraus, auch wenn ich Tiny aufgerufen hatte. Funzt! Weiß aber nicht warum...

Code: Select all

<p>Text vor dem Pluginaufruf {‍{{plugin:col_ovlFrame('imp2','../101_Impressum/?Impressum&amp;print','Impressum »','bright');}}} Text nach dem Pluginaufruf</p>
Mit einer ID, Link, Linktext und Style-Anpassung habe ich in die 'content.php' dann das eingefügt

Code: Select all

<p>Text vor dem Pluginaufruf {{{plugin:col_ovlFrame('krsei5','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Impressumseitling','dor');}}} Text nach dem Pluginaufruf</p>
Tiny aufgerufen, abgespeichert und es blieb wie es sollte.

Ich habe keine Ahnung, warum es so merkwürdig verlaufen ist. Und es hat ein wenig Nerven gekostet.

Vielen Dank für die Standard-Antwort ;-)

Gruß
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat :!:
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gert »

Gonzo Gates wrote: Fri 2. Feb 2024, 16:44 ... ich verstehe nicht, warum sich die h4-Tags anders benehmen. Hast du eine Idee?
Nö, und ich werde mich auch nicht damit beschäftigen, Pluginaufrufe in eine h4 zu packen.
Gonzo Gates wrote: Fri 2. Feb 2024, 16:44 ... auch wenn ich die '&zwi;'-Entität geloscht habe.
Das Ding heisst &zwj; (Zero Width Joiner) und nicht &zwi; (Zero Width Irgendwas) ;)

In solchen Fällen wende ich oft die kreative Holzhammer Methode an: Alle 3 geschweiften Klammern (mit allem dazwischen) löschen und neu setzen, da sollte dann auch das &zwj; mit dabei sein. Das klappt auch in der Editoransicht,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gonzo Gates
Posts: 194
Joined: Thu 19. Jan 2023, 21:46

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gonzo Gates »

Hallo Gert,

danke für die Belehrung...hab mich halt verschrieben.
Gert wrote: Fri 2. Feb 2024, 17:08 Das Ding heisst &zwj; (Zero Width Joiner)
Da habe ich mal so in mich hineingedacht, dass das Sinn haben könnte um das Freizeichen hinter dem Funktiosaufruf und einem Komma zu eliminieren [...Parasol, Link-Kräuterseitling ‍, Steinpilz,...].
Auszug des Aufrufs

Code: Select all

Parasol, {{{plugin:col_ovlFrame('krsei0','../userfiles/plugins/MultiMedia2/video/Kräuterseitling_Zeitraffer.webm','Kräuterseitling','dor');}}}&zwj;, Steinpilz,
Hat aber nix gebracht. Na ja, war einen Versuch wert...

Du hast zwar beschrieben, wie man mit &zwj; den Funktiomsaufruf verhindert, aber das mit deiner 'kreativen Holzhammer Methode' könntest du in deinem Handout vielleicht mal erwähnen, damit andere, so wie ich, nicht auf die Fresse fallen.

Gruß und schö WE
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat :!:
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gert »

Gonzo Gates wrote: Fri 2. Feb 2024, 17:31 aber das mit deiner 'kreativen Holzhammer Methode' könntest du in deinem Handout vielleicht mal erwähnen
Ok - habe ich gemacht, direkt unter dem rot hinterlegten Absatz oben:

https://www.ge-webdesign.de/cmsimpletem ... ginaufrufe

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gert »

Gert wrote: Sat 3. Feb 2024, 03:33 Ok - habe ich gemacht, direkt unter dem rot hinterlegten Absatz oben:
Jetzt auch in der CMSimple Doku:

https://www.cmsimple.org/doku/?Plugins_ ... ginaufrufe

Auch in Englisch:

https://www.cmsimple.org/doku/en/?Plugi ... ugin_Calls

Ein schönes Wochenende - Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gonzo Gates
Posts: 194
Joined: Thu 19. Jan 2023, 21:46

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gonzo Gates »

Hallo Gert,

vielleicht bin ich pingelig...

Ich denke, dass bei deinen Betriebsanweisungen https://www.cmsimple.org/doku/?Plugins_ ... ginaufrufe und https://www.ge-webdesign.de/cmsimpletem ... ginaufrufe im letzten Absatz '...Die Ausführung des Pluginaufrufes wird übrigens auch mit &zwj; verhindert...' besser wäre und du für die Darstellung der Benutzung von '&zwj;' für die Unterbindung eines Funktionsaufrufs in einer Seite durch Visualisierung durch Code-Vorhebung besser darstellen könntest

Code: Select all

<p>{‍&zwj;{{plugin:col_ovlFrame('20240202_0720','../?Impressum&amp;print','Impressum »','bright');}}}</p>
Ist nur eine Idee...

Ich benutze für sowas übrigens einen 'backslash'

Code: Select all

<p>{‍\{{plugin:col_ovlFrame('20240202_0720','../?Impressum&amp;print','Impressum »','bright');}}}</p>
Den sieht man zwar, aber das erspart Tipparbeit und dabei bin ich, bekanntermaßen, ziemlich faul ;-)

Gruß
Gonzo
Last edited by Gonzo Gates on Sat 3. Feb 2024, 20:22, edited 2 times in total.
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat :!:
Gert
Posts: 2092
Joined: Sun 18. Nov 2012, 14:18

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gert »

Nö - der Code soll ja den FUNKTIONIERENDEN Pluginaufruf zeigen, bei dem lediglich die Umwandlung <p> => <div> unterbunden wird.
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gonzo Gates
Posts: 194
Joined: Thu 19. Jan 2023, 21:46

Re: TinyMCE schreibt Tags um/löscht sie, aber nicht alle

Post by Gonzo Gates »

Hallo Gert,

ich glaube, dass wir hier aneinander vorbei 'reden'. Ich meinte, dass das Handout präzesiert werden könnte.

Eines brennt mir noch auf den Lippen/an den Fingern:

Wenn ich folgendes eingebe

Code: Select all

Text, {‍{{plugin:col_ovlFrame(...Linktext...);}}}, Text
dann bekomme ich das angezeigt
Text, Linktext[Leerzeichen], Text
Der nächste Weg mit

Code: Select all

Text, {‍{{plugin:col_ovlFrame();}}}&zwj;, Text
, wie vorher schon beschrieben, hat es nicht gebracht. Das Leerzeichen vor dem Komma bleibt.
Außerdem hat ein

Code: Select all

&zwj;{‍{{plugin:col_ovlFrame(...Linktext...);}}}
trotzdem noch eine Einrückung vor dem Text. '&zwj;' elininiert die Einrückung von '&nbsp;' nur teiweise. Ich will ja nicht pingelig sein...

Gruß
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat :!:
Post Reply