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.065
188
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 Wawi Lizenz BUG / Zahlungsmodul fehlerhaft JTL-Wawi - Fehler und Bugs 0
Neu JTL-Shop5 API Bug Allgemeine Fragen zu JTL-Shop 1
Neu JTL Lager Ausland MwSt. Satz / BUG? bei Bestellung aus Shop JTL-Wawi - Fehler und Bugs 1
Neu Wartungsmodus BUG - Shop weiterhin erreichbar über alternative URL Dringend! JTL-Shop - Fehler und Bugs 2
Neu Shop5 Lieferadressen Bug - Lieferadresse lässt sich aus der Bestellübersicht nicht mehr ändern JTL-Shop - Fehler und Bugs 3
Beantwortet "Auf Pickliste setzen" - Crzy Bug Jetzt Versenden = 0 JTL-Workflows - Fehler und Bugs 1
Neu Child Template HTML Code mit CSS Dateien anzeigen lassen Templates für JTL-Shop 3
Neu NOVA Template Weiß nach Update 4.06 => 5 Installation / Updates von JTL-Shop 7
Neu Im Template per 'if' einen Wert aus einem Array auslesen User helfen Usern - Fragen zu JTL-Wawi 1
Nova Template - Artikelübersicht - Verfügbarkeit anzeigen Einrichtung JTL-Shop5 3
Neu Bestand pro Lager bei mehrern Lägern ausblenden im Nova Template nur Ampel anzeigen in Artikelbeschreibung Templates für JTL-Shop 2
Neu NOVA Template Artikelsticker ändern Templates für JTL-Shop 6
Neu Shop 5.1.1 und Evo-Template 5.1.0: Fehlerhafte Bildergalerie- und Preisaktualisierung bei Variationen in Artikel-Übersicht und Artikel-Detailseite JTL-Shop - Fehler und Bugs 3
Weiße Seite beim NOVA-Template, EVO geht Upgrade JTL-Shop4 auf JTL-Shop5 2
Neu JTL 5 Shop -> Slick Slider auf der Startseite im Nova Template verändern Templates für JTL-Shop 2
Neu Template Anpassung im Child Theme via JTL Theme Editor -> my-nova.scss Templates für JTL-Shop 0
Neu NOVA Template Farbänderung in verschiedenen Bereichen Templates für JTL-Shop 5
Neu JTL SHOP 5.0.1 / NOVA-Template UVP/Rabattanzeige Artikelübersichten Allgemeine Fragen zu JTL-Shop 5
Neu JTL5.1.1 Nova-Template mit Child Mobiles Menü Templates für JTL-Shop 6
Neu Template Nova/layout/header_nav_search.tpl <li>? JTL-Shop - Fehler und Bugs 5
Neu Kritisch: JTL Shop 5.1 Bugs: Template: blackline, Demo-Dateien, Composer und co. JTL-Shop - Fehler und Bugs 22
Neu NOVA Template linke Navigation? Templates für JTL-Shop 2
Neu Animations Balken im Nova Template Farbe ändern Templates für JTL-Shop 2
Neu Mod Pagespeed webp konvertiung zerschiesst template Technische Fragen zu Plugins und Templates 0
Neu NOVA Template lässt sich nicht aktivieren JTL-Shop - Fehler und Bugs 4
Neu Shop 5 NOVA Template - Menü ohne Kategorien Allgemeine Fragen zu JTL-Shop 4
Fragen zum Update von 4 zu 5 - Template Migration Upgrade JTL-Shop4 auf JTL-Shop5 2
Neu Ebay Angebotsaktualisierung Evo Template bei neuem Artikelbild? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Template Anpassung UVP größer als VK Templates für JTL-Shop 1
Neu header.tpl wird nicht aus dem Child Template genommen JTL-Shop - Fehler und Bugs 5
Neu EU Energielabel Nova Template Templates für JTL-Shop 2
Neu NOVA Template - Megamenu Oberkategorie Link entfernen Templates für JTL-Shop 2
Neu NOVA Template - dunkler Hintergrund bei ausklappendem Megamenu Templates für JTL-Shop 4
Neu NOVA Template Preisspannen Slider noUI-touch-area sekundäre Farbe ändern Templates für JTL-Shop 2
Neu Brauche Hilfe bei einem Template - nicht alle if-Anweisungen funktionieren Dienstleistung, Jobs und Ähnliches 1
Komprimierung des HTML-Ausgabedokuments / Template Einstellung fehlt JTL Shop5 ? Einrichtung JTL-Shop5 0
Neu NOVA Template JTL Shop 5 eigenen Content-Block zwischen Footer und Produktdetailsseiten Technische Fragen zu Plugins und Templates 2
Neu Schriftgröße des Menüs im Nova Child Template vergrößern Templates für JTL-Shop 2
Neu Dateistruktur 125 modifizierte Datein Betrieb / Pflege von JTL-Shop 2

Ähnliche Themen