TinyMCE Codebeispiele bearbeiten

  • Kann mir da keiner Helfen?

    Kann durchaus passieren. Ist ja auch sehr speziell. Ich glaube nicht, dass Dir das hier jemand auf dem Tablett servieren kann.


    Ich würde an Deiner Stelle die verlinkten Seiten mit dem Dateisystem des TinyMCE Plugin in Joomla vergleichen und versuchen die Änderungen dort vorzunehmen. Notfalls lokal mit der Suche im Codeeditor.

  • chatGPT weiss was, vielleicht nützt dir das:


    Eine Möglichkeit wäre, den wunsch als issue bei joomla anzuregen. Hier https://github.com/joomla/joomla-cms/issues oder auf https://issues.joomla.org. Ob das aber im allgemeinen Interesse ist?

  • Schaue in

    media/vendor/tinymce/plugins/codesample/plugin.js

    die Zeilen 2243 bis 2285 an:


    ebenso natürlich auch in media/vendor/tinymce/plugins/codesample/plugin.min.js enthalten!


    Und wie man solche Core-js-Dateien updatesicher überschreiben kann siehe z.B.:


    JS-Overrides für /media/vendor Dateien

  • vielen Dank Sieger66

    Es hat funktioniert wenn ich die Änderungen in der media/vendor/tinymce/plugins/codesample/plugin.min.js vornehme

    Und wie man solche Core-js-Dateien updatesicher überschreiben kann siehe z.B.:


    JS-Overrides für /media/vendor Dateien

    Leider hat das mit dem Override nicht so funktioniert


    Ich bin wie folgt vorgegangen

    - in meiner joomla.asset.json in meinem Template habe ich folgenden Code eingefügt

    Code
    {
                "name": "tinymce.codesample",
                "description": "Diese JS überschreiben wir die CodeSample für den Editor TinyMCE - ab Zeile 2246",
                "type": "script",
                "uri": "tinymce/codesample.plugin.js"
            },

    - in der index.php habe ich folgendes eingefügt

    Code
    $wa->useScript('tinymce.codesample');

    leider war das ohne Erfolg


    muss ich das im Admin-Template auch einfügen?


    Danke im Voraus

  • Ich bin nur ein Laie und habe mir das jetzt einmal etwas genauer angeschaut.

    Wenn ich mich nicht täusche wird das codesample-Plugin-Script ja wohl vom TinyMCE-Editor geladen

    und kommt nicht per Web Asset Manager.


    Da ich mich in Javascript nur wenig auskenne würde ich es wohl so lösen wenn kein besserer Vorschlag kommt:


    Lösung 1:

    Template-Override bei dem die beiden Core-Dateien einfach jedesmal überschrieben werden mit meiner Datei mit dem gewünschten Code sobald das Editor-Formular geöffnet wird z.B. per:


    Code
    chdir('media/vendor/tinymce/plugins/codesample/');
    copy ('meincodesample.plugin.js','plugin.min.js');
    copy ('meincodesample.plugin.js','plugin.js');


    fürs Frontend mit Cassiopeia müßte man obigen Code dort entsprechend in einem Template-Override ergänzen:

    ‎/templates/cassiopeia/html/com_content/form/edit.php


    Die Datei meincodesample.plugin.js mit dem geänderten Code müßte dazu dann dort sein:

    /media/vendor/tinymce/plugins/codesample/meincodesample.plugin.js


    Alternativ Lösung 2 :


    Erstelle einen Dateiordner für ein "eigenes TinyMCE-Plugin":


    z.B. /media/vendor/tinymce/plugins/meincodesample


    Kopiere dort hinein die identischen Dateien wie im Dateiodner

    media/vendor/tinymce/plugins/codesample/

    Ergänze darin die Dateien plugin.min.js und plugin.js mit deinem Code.

    Lösche darin plugin.min.js.gz wenn du keine entsprechende diesbezügliche komprimierte Datei erstellst.


    Gehe ins Backend zu

    System -> Plugins -> Editor – TinyMCE

    Trage bei im Feld bei 'Eigene Plugins' folgendes ein:

    meincodesample

    Trage im Feld bei 'Eigene Buttons' folgendes ein:

    meincodesample


    Wichtig ist das beide Einträge identisch wie der neue Dateiordner bennant werden!


    Speichern und testen.


    Es wird dadurch nun zusätzlich auch dein eigenes TinyMCE-Plugin geladen und gewinnt wohl

    weil es erst nach dem TinyMCE-Core-Plugin geladen wird...