Nach Update auf 3.11.1.1 index-USERMOD.html unbrauchbar

Thema wurde von Anonymous, 6. November 2018 erstellt.

  1. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    11. Februar 2015
    Beiträge:
    1.291
    Danke erhalten:
    401
    Danke vergeben:
    237
    Ich versuche mein Glück in einem Extrathread.

    Bisher ist mein Shop mit einem Template von Netdex problemlos gelaufen. In der "index.html" des Templates wurden einige Änderungen (rein HTML) vorgenommen. Das hat bis inkl. Version 3.10.0.4 einwandfrei funktioniert.
    Nach dem Update auf Version 3.11.1.1 konnte der Shop nicht mehr geöffnet werden. Fehlermeldung:

    Code:
    FATAL ERROR(1): "Uncaught Error: Call to undefined method FooterContentView::assign_menu_boxes() in /var/www/vhosts/klingeltafel-onlineshop.de/httpdocs/onlineshop/templates/Honeygrid/smarty/function.footer.php:39
    Stack trace:
    #0 /var/www/vhosts/klingeltafel-onlineshop.de/httpdocs/onlineshop/templates_c/d2abeae77c91cb663d80075b5612cd87b2f4d918_0.file.index-USERMOD.html.php(326): smarty_function_footer(Array, Object(Smarty_Internal_Template))
    #1 /var/www/vhosts/klingeltafel-onlineshop.de/httpdocs/onlineshop/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_5be13a73568f70_72288411(Object(Smarty_Internal_Template))
    #2 /var/www/vhosts/klingeltafel-onlineshop.de/httpdocs/onlineshop/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template))
    #3 /var/www/vhosts/klingeltafel-onlineshop.de/httpdocs/onlineshop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compil"
    Ich habe die index-USERMOD.html nun durch die hauseigene index.html des Shops ersetzt damit er erreichbar ist, natürlich sind nun sämtliche eigenen Anpassungen des Index´ weg.

    Ein Freund der mir bei den HTML-Sachen hilft und meine USERMOD "reparieren" will fragt nun, was genau da jetzt geändert werden muß, damit eine HTML-Datei die bis 3.10.0.4 funktioniert hat, das auch unter 3.11.1.1 tut.
     
  2. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.077
    Danke erhalten:
    646
    Danke vergeben:
    307
  3. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    11. Februar 2015
    Beiträge:
    1.291
    Danke erhalten:
    401
    Danke vergeben:
    237
    Vielen Dank zunächst für deine Antwort Kai.

    Ich habe jetzt mit meinem Freund einen Block angelegt und diesen zunächst testweise in die index.html eingefügt. Cache gelöscht und die Änderungen werden auch wieder angezeigt die ich mal manuell habe einpflegen lassen. Aber...

    Nun taucht dieser Block auf allen Seiten auf! Eigentlich sollte der Block aber nur auf der Startseite, sprich dem Index erscheinen. Auf anderen Seiten nicht. Gibt es bei Smarty eine Art if-then Abfrage mit der man einen Block dann tatsächlich nur auf der Indexseite anzeigen lassen kann und auf anderen Seiten nicht?
     
  4. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Falscher Weg.
    du musst keinen eigenen Block in die Index.html schreiben, das ist ja beim nächsten Update weg.
    Man nimmt einen bestehenden Block und setzt etwas davor oder danach, oder ändert den ganzen inhalt des Blockes.
    Dazu muss man im Ordner GXModules ein eigenes Verzeichnis anlegen.
    z.B.
    Meins/Startseite/Shop/Template/Honeygrid/Module/index.html
    in der index.html in diesem Verzeichnis schreibt man dann den Block mit seinen Änderungen.

    Eine genauere Beschreibung findest Du hier:
    (Link nur für registrierte Nutzer sichtbar.)
     
  5. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.077
    Danke erhalten:
    646
    Danke vergeben:
    307
  6. ReneT
    ReneT Erfahrener Benutzer
    Registriert seit:
    1. Dezember 2016
    Beiträge:
    708
    Danke erhalten:
    232
    Danke vergeben:
    67
    Dank Barbara, habe auch ich die Override Geschichte mit den Smarty Blöcken verstanden, wenn man da einmal dahinter geschaut hat... ist es ein Kinderspiel.

    Was ich noch nicht verstanden habe ist die Ordnungsstruktur im GXModules Ordner... kann mir da mal einer auf die Sprünge helfen.
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    11. Februar 2015
    Beiträge:
    1.291
    Danke erhalten:
    401
    Danke vergeben:
    237
    Läuft wieder bei mir. :)
    Danke Euch!
     
  8. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Mal sehen:
    Name des Modulherstellers, bzw, Dein Name oder Kürzel / Worum es geht / Wo es greifen soll (bei eigenen Änderungen meistens "Shop"/Overloads, für das was bisher unter GXUserComponents/overloads war, Templates mit dem kompletten Pfad wie zur originalen Datei
    Beispiel:
    Meins/Voting/Shop/
    Overloads/FooterContentView/Voting_FooterContentView.inc.php
    Templates/Honeygrid/Module/footer.html
     
  9. KrüCon
    KrüCon Erfahrener Benutzer
    Registriert seit:
    6. November 2016
    Beiträge:
    96
    Danke erhalten:
    0
    Danke vergeben:
    10
  10. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @KrüCon Wenn du eines unserer DemoShop Templates genutzt hast das noch auf einer älteren Shopversion basiert war dort eine USERMOD für die Index.html enthalten. Wenn du nicht weißst ob die die Datei noch brauchst einfach mal umbennen und prüfen ob dein Shop dann wieder funktioniert. Also die Datei /templates/Honeygrid/index-USERMOD.html z.B. in index-USERMOD-alt.html umbennen. Nach dem Cache leeren sollte der Shop wieder funktionieren.
     
  11. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    Der häufigste Fehler ist, in der index.html ist eine alte Variable für den Footer.

    Hier einfach {footer} durch {$FOOTER} ersetzen und der Shop sollte wieder funktionieren.
     
  12. KrüCon
    KrüCon Erfahrener Benutzer
    Registriert seit:
    6. November 2016
    Beiträge:
    96
    Danke erhalten:
    0
    Danke vergeben:
    10
    Danke, der Shop funktioniert erst einmal wieder (nach umbenennen index-USERMOD-alt), allerdings nicht mit den Einstellungen der Optik.

    @Till (Gambio) : welche index meinst du genau in der /templates/Honeygrid/index html ist das "$" schon eingetragen gewesen.

    Wird es irgendwas geben seitens von Gambio, dass es bei zukünfigen Updates ohne Probleme mit den Templates besser funktioniert? Leider bin ich kein programmierer ;(
     
  13. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Du musst das in der index-USERMOD.html ändern.
    (also diese dann auch wider umbenennen :))

    Das geht nicht.
    Da mit Änderungen nciht einfach bei einem Update verschwinden (überschreiben werden) gibt es die -USERMOD.html - Möglichkeit. Damit bleiben die Änderungen Updatesicher - das bedeutet,, sie werden nicht durch ein Update überschrieben. Das bedeutet aber nicht, dass man da nie wieder ran muss.

    Immer wenn etwas in einer USERMOD.html angepasst wurde, muss man bei / nach einem Update prüfen, ob diese Datei geändert wurde. Wenn ja, muss man die USERMOD.html mit der originalen Datei vergleichen und anpassen oder neu machen.
    Mit den Smarty-Blöcken wird es schon anders, ist aber auch nicht so, dass es nie weider angefasst werden muss.
     
  14. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @KrüCon Es muss mit Großbuchstaben geschrieben werden, nur das $ einzufügen reicht nicht {$footer} ist auch eine alte Variable. Es muss {$FOOTER} sein.
     
  15. KrüCon
    KrüCon Erfahrener Benutzer
    Registriert seit:
    6. November 2016
    Beiträge:
    96
    Danke erhalten:
    0
    Danke vergeben:
    10
    Okay, hat funktioniert, der Shop kann aufgerufen werden (es war in der index-USERMOD nur ein Eintrag.mit dem alten Footer)

    Allerdings ist jetzt im oberen Bereich (Header?) noch alles etwas durcheinander. :/

    Grüße