GXModules - JS wird Global nicht eingebunden

Thema wurde von Steffen (indiv-style.de), 14. September 2017 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Meine eigene JS-Datei welche im GXMoldules liegt (Ordnerstruktur siehe Bild) wird nicht eingebunden!
    Hat das jemand schon gemacht wo es funktioniert???

    GXModules_keinJS.jpg
     
  2. Sergej (Gambio)

    Sergej (Gambio) Erfahrener Benutzer Mitarbeiter

    Du hast im Prinzip zwei Möglichkeiten:

    - das JS über ein Template einbinden mit eigenem Namespace und Controllern (die coole Variante)

    oder evtl.

    - über ein Asset Array in einem ShopController an das Frontend mit übergeben (findet oft Verwendung statt bei z.B. eigenen CSS-Strukturen)
     
  3. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Schon klar, nur das sind 5 kleine Functionen! Dafür ist mir der Aufwand einfach zu gross. Und das es anders gehen soll steht ja hier eindeutig beschrieben:

    https://developers.gambio.de/tutorials.html?v=3.5.1.0&p=gxmodules#requirementShopTemplates

    Und genau das macht er nicht!

    Ihr stellt mit den GXEngine, JSEngine, GXModules sehr mächtige Werkzeuge zur Verfügung aber das ist m.E. nach zu mächtig für kleinere Anpassungen. Deswegen war ich froh, eifach meine JS in einen vorgegebenen Ordner zu legen und gut... Macht er nicht und das ist unschön!

    UND NUN???
     
  4. Sergej (Gambio)

    Sergej (Gambio) Erfahrener Benutzer Mitarbeiter

    Wenn es laut developers funktionieren sollte und du alles richtig gemacht hast, dann ist da was kaputt...

    Hast du schon versucht dein JS direkt in den Ordner JavaScript abzulegen?

    Wenn ja und ohne Erfolg. Im Quellcodeansicht gegengeprüft ob dein JS wirklich nicht da ist?
     
  5. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Alles schon gemacht... Nix da! Leg ich das im Templates-Ordner usermod/javacript/Global ab, geht es.
     
  6. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Also im richtigen Templates-Ordner! Nicht der in GXModules!!!
     
  7. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Fehler gefunden! Der Ordner darf nicht JavaScript heisen, sondern Javascript!! Das sollte im Tutorial geändert werden!
    In UsermodJSMaster.inc.php sieht man das!
    PHP:
    $gxModuleFiles = GXModulesCache::getFiles();
           
            foreach(
    $gxModuleFiles as $file)
            {
                if((
    strpos($file, '/Templates/' . CURRENT_TEMPLATE . '/Javascript/') !== false
                    
    || strpos($file, '/Templates/All/Javascript/') !== false)
                   && 
    substr($file, -3) === '.js'
                   
    && (strpos($file, '/' . $this->get_page() . '/') !== false
                       
    || strpos($file, '/Global/') !== false)
                )
                {
                    
    $t_files_array[] = $file;
                }
            }
           
            
    $dataCache->set_data($cacheKey, $t_files_array, true);
           
            return 
    $t_files_array;