Gelöst Gelöst: Eigenes Child-Template beim Release Candidate v5.0.0.rc3

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Gerade installiert, und gleich beim ersten Aufruf der Shopfront nur noch eine weiße Seite und:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "file:/.../templates/NOVA/layout/index.tpl" on line 19 "{container}" unknown tag 'container' <-- thrown in .../includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 19
(Dateipfadersetzung durch Punkte von mir)

Backend-Admin geht.

Was hat das zu bedeuten? Kann ich das beheben?

P.S.:
/templates/NOVA/layout/index.tpl ist unverändert,
/includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php auch.
Das Problem muss woanders liegen.

Edit: Thema umbenannt, weil Ursache gefunden und gelöst
 
Zuletzt bearbeitet:
  • Haha
  • Ich liebe es
Reaktionen: sah und DRaufeisen

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Alles zurück,
Nach Deaktivierung meines Child Templates ist der Fehler weg!
Aktiviere ich es wieder, ist der Fehler wieder da.

Seltsam, vorher (Vorversion war shop-master.zip vom 19.08.2020) gab es kein Problem mit dem Child.
Nun schon.
Wie könnte ich der Sache näher kommen?
 

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Ich habe dann mal alle Plugins deaktiviert, kein Unterschied.
Dann habe ich mein Child-Template immer weiter abgestrippt, immer noch kein Unterschied.

Zuletzt habe ich das NOVAChild (novachild-master) von hier: https://gitlab.com/jtl-software/jtl-shop/child-templates/novachild heruntergeladen und aktiviert.

Also unmodifiziertes NOVA-Template und unmodifiertes NOVA-Child.

Ergebnis: immer noch derselbe Fehler!
Es scheint ein grundsätzliches Problem mit Child-Templates überhaupt zu sein.

Wenn man die Wurzelkategorieseite aufruft, ist der Fehler übrigens ein anderer.
Dann lautet er
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "file:/.../jtlshop/templates/NOVA/productlist/index.tpl" on line 38 "{alert variant="danger"}{$Suchergebnisse->getError()}{/alert}" unknown tag 'alert' <-- thrown in /.../includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 38

Ich glaube, da müsste JTL wohl noch mal ran.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.878
518
Halle
Hi fibergirl,
schön das du den rc.r schon entdeckt hast, aber wir haben ihn noch nicht released... ;)
Hast du noch eine functions.php in deine Child-Verzeichnis?
 

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
So, es läuft wieder alles 🙂👍

Letztendlich war das Problem der Template-Name, bzw. die Bindestriche in meinem Templateverzeichnis.
@FPrüfer , der Tip mit dem Child-Verzeichnis und dem namespace war sehr wertvoll und hat mich zur Lösung gebracht!

Der namespace hat nämlich gar nicht mit dem Verzeichnisnamen übereingestimmt, was bis dahin kein Problem gewesen war.
Nun aber schon. Nach Ändern des Namespaces auf den Verzeichnisnamen ging dann trotzdem nichts, weil ein Bindestrich drin war. Mit Unterstrich hat er wiederum angeblich die template.xml nicht gefunden.
Dann eben alles in einem Wort ohne Binde-oder Unterstriche => läuft!

Fazit: vielleicht schreibt Ihr direkt bei gitlab in die README.md und auch nochmal in die Entwicklerdoku, nicht nur dass namespace und Verzeichnisname übereinstimmen müssen, sondern auch, dass dabei sowohl Binde-als auch Unterstriche besser zu vermeiden sind...

Ansonsten: Klasse, dass der RC jetzt da ist, und danke für die Hilfe!
 

sah

Sehr aktives Mitglied
11. Juni 2021
280
25
Herten
Die Doku ist nicht mehr ganz aktuell:
"Nach dem Ändern von Templateeinstellungen und/oder dem Wechsel von Themes empfiehlt es sich, die entsprechenden Zwischenspeicher des Shops zu leeren.
Hierzu navigieren Sie im Backend-Menü auf den Menüpunkt „System“ ( Shop 4.x) bzw. „Einstellungen“ (Shop 5.x) und klicken auf „Cache“. Wählen Sie hier „Template“ in der dazugehörigen Checkbox aus. Anschließend klicken Sie am Ende der Seite auf den Button absenden, um den Cache zu leeren."
https://docs.jtl-shop.de/de/latest/shop_templates/eigenes_template.html#ihr-template-aktivieren
Der Button heißt jetzt "Gesamten Template-Cache leeren".