Neu Bug: Template Datein des Child-Templates werden nicht bei include anweisungen geladen

Mai Lapyst

Neues Mitglied
27. August 2021
2
0
Hallo,

ich habe einen JTL- Shop auf der version 5.0.3, und möchte in einem NOVA Child Template (auf basis des offiziellen NOVAChild templates) die datei "productdetails/image.tpl" ersetzen. Laut Dokumentation soll ja reichen einfach die datei im child template anzulegen, also vlg.: "templates/NOVAChild/productdetails/image.tpl", was auch gemacht wurde. Datei und ordner-rechte sind wie beim NOVA template. Allerdings wenn ich dann die produktseite aufrufe wird immernoch das alte template geladen. (Shop caches sind alle geleert & deaktiviert)

Ich habe auch herausgefunden woran es liegt: der Shop prüft beim laden des templates ob es ein child template ist bzw ob es ein parent besitzt, wenn ja wird zuerst der template pfad des parents und danach der des schilds an Smarty übergeben. Wenn nun smarty auf eine include anweisung trifft (wie es bei der "productdetails/image.tpl" der fall ist) geht JTL zuerst her und prüft ob die datei auch im child vorhanden ist, wenn ja schreibt es die anweisung "leicht" um:

Code:
Vorher: "file:productdetails/image.tpl"
Nachher: "extends:[NOVA]productdetails/image.tpl|[frontend]productdetails/image.tpl"

Hier sieht man evtl schon woran es liegt: JTL teilt Smarty mitt das es zuerst im NOVA template suchen soll und danach erst im frontend (was das NOVAChild template ist). Dies kommt daher weil, wie oben erwähnt, zuerst NOVA und danach erst NOVAChild geladen wird.

Passt man nun die funktion an, das die template pfade an smarty übergibt:
includes/src/Smarty/JTLSmarty.php beginnend von zeile 111:
Code:
            if ($parent !== null) {
                self::$isChildTemplate = true;
                $this->assign('tplDir', \PFAD_ROOT . \PFAD_TEMPLATES . $parent . '/')
                    ->assign('parent_template_path', \PFAD_ROOT . \PFAD_TEMPLATES . $parent . '/')
                    ->assign('parentTemplateDir', \PFAD_TEMPLATES . $parent . '/')
                    ->addTemplateDir(\PFAD_ROOT . \PFAD_TEMPLATES . $parent, $parent);
            }
            $this->addTemplateDir(\PFAD_ROOT . \PFAD_TEMPLATES . $tplDir . '/', $this->context);
auf:
Code:
            $this->addTemplateDir(\PFAD_ROOT . \PFAD_TEMPLATES . $tplDir . '/', $this->context);
            if ($parent !== null) {
                self::$isChildTemplate = true;
                $this->assign('tplDir', \PFAD_ROOT . \PFAD_TEMPLATES . $parent . '/')
                    ->assign('parent_template_path', \PFAD_ROOT . \PFAD_TEMPLATES . $parent . '/')
                    ->assign('parentTemplateDir', \PFAD_TEMPLATES . $parent . '/')
                    ->addTemplateDir(\PFAD_ROOT . \PFAD_TEMPLATES . $parent, $parent);
            }
dann funktioniert es wie gedacht.

Mfg
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.145
223
Halle (Saale)
Den "extends:"-String musst du von rechts nach links lesen - die Reihenfolge ist wie sie original war korrekt.
Du musst im Child nur halt den Block mit angeben.

Beispiel für productdetails/image.tpl:
Code:
{block name='productdetails-image'}
    CHILD!!!
{/block}

funktioniert. Nur ohne den Block wird es nicht geladen.
 

Mai Lapyst

Neues Mitglied
27. August 2021
2
0
Das kann schon sein das das mit einem block funktioniert, aber das wäre ja eine block-ersetzung, hier sollte allerdings eine komplette datei-ersetzung stattfinden. Diese funktioniert allerdings nun halt mal im momentanen stand nicht ohne anpassungen im JTL-core.

Da auch in der dokumentation steht das gesamte strukturersetzungen möglich sind (siehe: https://jtl-devguide.readthedocs.io...template.html#anpassung-der-gesamten-struktur) sehe ich das momentan eher als einen bug.

Mfg
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu BUG: DATEV-Export falsche Buchungskonto bei gleichen Steuersätzen JTL-Ameise - Fehler und Bugs 0
Neu Bug Bezahlstatus Shoptransfer JTL-Wawi - Fehler und Bugs 0
Registrierung - Auswahl Länder - Bug? Einrichtung JTL-Shop5 3
Neu Clickjacker Bug Report, Spammail oder echt? Allgemeine Fragen zu JTL-Shop 1
Neu Bug im JTL Paypal 2.1.0 Plugin JTL-Shop - Fehler und Bugs 3
Neu Staffelpreise Netto/Brutto - evtl. Bug JTL-Ameise - Fehler und Bugs 2
Neu DHL Express GWS Fehler Bug ( /shipreq:ShipmentRequest/RequestedShipment/ShipmentInfo/Currency) JTL-ShippingLabels - Fehler und Bugs 2
Verwiesen an Support WMS Umlagerung zwischen Lagern durch Pickliste BUG JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 4
In Bearbeitung Bon Status "beendet" BUG?! JTL-POS - Fehler und Bugs 2
Neu Bug bei Kombination von Konfigurator & Kupon JTL Shop 4.06 JTL-Shop - Fehler und Bugs 0
Neu Bug oder Feature bei Änderung eines Staffelpreises? JTL-Wawi - Fehler und Bugs 0
Neu [JTL Shop 5.1.1 CE] [Wawi 1.5.51.0] [Bug] Versehentliches Pflegen von englischen Inhalten in der WaWi-> Shop-Abgleich defekt (Sync Exception 3) JTL-Shop - Fehler und Bugs 4
Neu Newssystem Breadcrumb ein Witz oder ein Bug? JTL-Shop - Fehler und Bugs 0
Neu Freelancer für JTL-Shop5 Template Designanpassung, E-Mail Design, weitere Themen gesucht Dienstleistung, Jobs und Ähnliches 0
Neu Grundfragen zu Nova als eigenes Template und Themeanpassungen Templates für JTL-Shop 0
Neu plugin template smarty variabel $plugin ist null JTL-Shop - Fehler und Bugs 1
Shop Update von 4.xx auf 5.1.1 - Eine oder mehrere Linkgruppen nutzen keine eindeutigen Template-Namen: Gesetzliche Informationen Upgrade JTL-Shop4 auf JTL-Shop5 1
Neu Nova Template - Artikelübersicht - Verfügbarkeit von Varianten tabellarisch anzeigen Templates für JTL-Shop 7
Seiten im Template anzeigen Einrichtung JTL-Shop5 1
Header Nova Template Shop 5.1.1 Einrichtung JTL-Shop5 0
Neu plugin template datei mit $parent_template_path JTL-Shop - Fehler und Bugs 1
Neu Zahlungsart Lastschrift - Template für Rechnungen - wie SEPA Block aktivieren Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Nova-Template funktioniert nicht Upgrade JTL-Shop4 auf JTL-Shop5 3
Neu Abkündigung EVO-Template in JTL-Shop 5.2 / 5.3 Allgemeine Fragen zu JTL-Shop 39
Fatal Error mit Nova-Template Upgrade JTL-Shop4 auf JTL-Shop5 1
Neu Nova Template auf Handy zeigt Inhalt nicht an Templates für JTL-Shop 7
Neu Nova Template auf Handy zeigt Inhalt nicht an Technische Fragen zu Plugins und Templates 0
Neu Nova Template Mega Menu 3 spaltig machen Templates für JTL-Shop 0
Neu Variablen _variables.scss werden im Kind-Template nicht angezeigt Templates für JTL-Shop 2
Neu Neues innovatives Ebay Template für Minimalangaben eBay-Designvorlagen - Ideen, Lob und Kritik 0
Neu Nova-Template Megamenu: Pfeile entfernen - Abstände kleiner Templates für JTL-Shop 1
Neu ERLEDIGT (Shop. 5.1.1 | Template NOVA 1.1.0 | Wer passt mir die Farben an?) Dienstleistung, Jobs und Ähnliches 0
Neu EVO Template um Feld 'brand' Meta-Angabe ergänzen? Betrieb / Pflege von JTL-Shop 2
Neu Child Template wird nicht dargestellt JTL-Shop - Fehler und Bugs 2
Neu Eigenschaftswerte(Variationswerte z.B. Pflichtfreitextfeld bei custom Artikel) in pushed_success.tpl hinzufügen Shop5 Nova Template Templates für JTL-Shop 1
Neu Child Template löschen Allgemeine Fragen zu JTL-Shop 0
Neu Filter auf Artikelübersichtsseiten in JTL-Shop 5 (NOVA Template) neu gestalten? Technische Fragen zu Plugins und Templates 0
Neu Shop5 NOVA Child Template auf aktuelle Version updaten Technische Fragen zu Plugins und Templates 7
Farben ändern NOVA-Template Einrichtung JTL-Shop5 3
Neu JTL Shop 5: NOVA-Template -> Artikel in den Warenkorb gelegt *immer* als PopUp anzeigen Templates für JTL-Shop 5
Neu Last Seen Box unter linker Seitenleiste wegbekommen | Nova Template Templates für JTL-Shop 2
Neu Shortdesc Description entfernen | Nova Template Templates für JTL-Shop 2
Neu mehr als 12 Bilder im Evo Template möglich? eBay-Designvorlagen - Ideen, Lob und Kritik 1

Ähnliche Themen