CKeditor einbauen in Admin Modul (neue Variante)

Thema wurde von BigRib, 20. November 2022 erstellt.

  1. BigRib
    BigRib Erfahrener Benutzer
    Registriert seit:
    26. September 2018
    Beiträge:
    271
    Danke erhalten:
    56
    Danke vergeben:
    32
    Ich versuche gerade eins meiner Module zur neuen Modul Variante umzustellen. Leider bekomme ich das importieren der ckeditor.js und admin_buttons.lang.inc.php nicht so recht hin.

    In der "alten" Version wurde es mit folgender Methode gemacht:

    Code:
    protected function _getAssetsArray()
        {
            $assets = MainFactory::create('AssetCollection');
            $assets->add(MainFactory::create('Asset', 'admin_buttons.lang.inc.php'));
            $assets->add(MainFactory::create('Asset', 'includes/ckeditor/ckeditor.js'));
           
            return $assets;
        }
    
    da konnte man die Assets aber auch noch einfach mit anhängen

    Code:
    $assets = $this->_getAssetsArray();
           
            return MainFactory::create('AdminLayoutHttpControllerResponse', $title, $template, $data, $assets);
    
    Das geht ja nun nicht mehr.

    Ich konnte zwar über einen Umweg die ckeditor.js einbinden, aber da werden die Texte der "admin_buttons" nicht angezeigt.

    Code:
    //PHP
     $templateData = [
          // key value pairs that are accessible in the template
    
          'myJS' => "/GXModules/Thrownatur/TndFaqs/Admin/Assets/admin_tnd_faqs.js",
          'ckeditor' => "includes/ckeditor/ckeditor.js",
          'myCss' => "/GXModules/Thrownatur/TndFaqs/Admin/Assets/admin_tnd_faqs.css"
        ];
    
    //HTML
    <script src="{$myJS}"></script>
    <script src="{$ckeditor}"></script>
    <link rel="stylesheet" href="{$myCss}">
    
    Gibts da eine elegantere Lösung wie die Assets in der "alten" Variante?
     
  2. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @BigRib Der ckEditor ist nicht direkt selbst als JS nutzbar, da gibt es viel mehr Abhängigkeiten, die du alle manuell dann einbinden musst.

    Wenn dein Modul nicht viele umfangreiche Konfigurationen hat, dann empfehle ich dir die GXModule.json Datei zu benutzen. Dafür brauchst du keinelei eigene Seite im Gambio Admin erstellen. Die Konfiguration wird dann dynmaisch aus der JSON Datei mit den entsprechenden Konfigurationsfeldern erstellt.

    Erstelle dazu eine GXModule.json Datei im Hauptverzeichnis deines Moduls:
    /GXModules/Thrownatur/TndFaqs mir folgendem Inhalt:

    Code:
    {
        "title": "sample_module.module_title",
        "description": "sample_module.module_description",
      "configuration": [
            {
                "title": "sample_module.section_inputs",
                "fields": {
                    "sampleEditor": {
                        "type": "editor",
                        "label": "sample_module.label_editor"
                    }
                }
            }
        ]
    }
    Weitere Informationen findest du dazu unter folgender URL:
    (Link nur für registrierte Nutzer sichtbar.)

    Um die Daten dann in deinem Modul wieder auslesen zu können, die gespeichert wurden, kannst du folgende Klasse benutzen:

    PHP:
    $configurationStorage MainFactory::create('GXModuleConfigurationStorage''{Modulhersteller}/{Modulname}');
    $activeValue $configurationStorage->get('active');
    (Link nur für registrierte Nutzer sichtbar.)
     
  3. BigRib
    BigRib Erfahrener Benutzer
    Registriert seit:
    26. September 2018
    Beiträge:
    271
    Danke erhalten:
    56
    Danke vergeben:
    32
    Guten Morgen Till,

    vielen Dank für Deine Antwort. Ich probiere das mal bei einen meiner nächsten Mods. Die aktuelle ist so ziemlich fertig und es geht eigentlich nur noch um die Texte und ich weiß auch nicht, ob ich es mit der von Dir genannten Variante wieder so hinbekomme, wie es jetzt läuft :D

    Im Prinzip fehlen ja nur die Texte der beiden Buttons , damit kann ich dann zur not auch leben, oder ich lasse das Modul in der alten Version

    upload_2022-11-22_7-17-52.png