Smarty Template in GXModules nicht gefunden

Thema wurde von Anonymous, 25. August 2017 erstellt.

  1. Anonymous

    Anonymous Neues Mitglied

    Registriert seit:
    22. Februar 2017
    Beiträge:
    3
    Danke erhalten:
    0
    Ich habe gemäß der Anleitung ((Link nur für registrierte Nutzer sichtbar.)) folgende Struktur aufgebaut:

    GXModules > Someone > Custom > Shop > Templates > HoneyGrid > template.html
    GXModules > Someone > Custom > Shop > Classes > Controllers > CustomController.inc.php
    GXModules > Someone > Custom > Shop > Classes > Controllers > CustomContentView.inc.php

    Wenn ich dem CustomContentView im Konstruktor nun
    PHP:
    $this->set_content_template('tempate.html');
    zuweise und dann mit ..../shop.php?do=Custom nun die Seite aufrufe bekomme ich folgende Fehlermeldung:

    (Link nur für registrierte Nutzer sichtbar.)

    Ich habe mal ein wenig gedebuggt und gesehen, dass die Ursache möglicherweise in der Klasse Smarty.class.php in der Funktion _getGambioUsermodFilePath beim Holen des $usermodFilePath liegt. Das $templateDir sieht komisch aus, da es den String 'Array/' enthält.
     
  2. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.662
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    Hi,

    du hast eine eigene neue Smarty HTML Vorlage im Ordner GXModules > Someone > Custom > Shop > Templates > Honeygrid abgelegt, was nur für HTML Dateien gedacht ist die im Shop schon vorhanden sind. Damit kann man nur die Originaldateien erweitern. Wenn du eigene neue HTML Dateien nutzen möchtest, empfehle ich dir diese in einem Ordner GXModules > Someone > Custom > Shop > HTML abzulegen der nicht den gleichen Namen hat wie /Templates/Honeygrid/.

    Den eigenen Ordner kannst du dann über folgenden Befehl nutzen:

    PHP:
    $this->set_template_dir('GXModules/Someone/Custom/Shop/HTML');
     
  3. Walter Lenk

    Walter Lenk Erfahrener Benutzer

    Registriert seit:
    28. September 2011
    Beiträge:
    492
    Danke erhalten:
    210
    Danke vergeben:
    83
    Dann sollte die Anleitung aber überarbeitet werden. Ich bin nämlich auch gerade daran gescheitert und folgender Passus in der Doku behandelt eben genau NEUE Boxen

    Anforderung zur Einbindung von eigenen Boxen im Frontend
    Was generell beim Hinzufügen eigener Boxen im Frontend zu beachten ist, wird bereits unter Hinzufügen einer neuen Box im Frontend ausgeführt. Da diese Funktion im Hub-Modul keine Verwendung findet, können wir hier keine beispielhafte Platzierung in dessen Ordnerstruktur zeigen.

    Dennoch erfolgt die Einbindung ganz einfach. Die Template-Dateien der Boxen müssen sich in einem Unterordner Boxen des Template-Ordners (unter Beachtung des Templatesets) befinden. Deine abgeleitete ContentView-Klasse solltest du im Ordner Shop/Classes/ContentView platzieren. Overloads und Sprachdateien, die zum Einbinden eigener Boxen nötig sind, solltest du so behandeln, wie es hier auf dieser Seite beschrieben wird.
     
  4. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.096
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Der Bereich eigene Module und so abzulegen wurde/wird gerade neu strukturiert soweit ich mich entsinne. Dokus hinken ja leider da immer hinterher. - Ab 3.7. soll auch noch eine neue Funktion dazukommen für einfachere Anpassungen am template. Vermute mal das daher die Doku nicht mehr ganz aktuell ist.
     
  5. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.662
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    @walterlenk Wir haben hier noch einen Bug im GXModules System, der mit der 3.7.1.0 korrigiert wird, somit wird dann jede HTML Datei die im GXModules Ordner liegt ohne einen speziellen Pfad angeben zu müssen eingelesen. Das bedeutet, es muss nicht mehr der Pfad komplett mit angegeben werden zur Template-Datei, wenn man diese über
    PHP:
    $this->set_content_template('meineneueHTMLSmartyVorlage.html');
    einbindet, der Shop findet die Datei dann automatisch.

    Die Anleitungen werden auch noch überarbeitet.