Neu Template durch plugin überschreiben

algonix

Neues Mitglied
26. Mai 2020
7
0
Guten Morgen,
Ich versuche derzeit das template box_filter_characteristics.tpl über ein plugin zu überschreiben. Das klappt soweit auch gut über den HOOK => \HOOK_SMARTY_OUTPUTFILTER. Überschrieben wird das template durch das ursprüngliche, modifizierte box_filter_characteristics.tpl. Allerdings rendert das modifzierte template nicht . Das debuggen zeigt, dass zuvor in der Bootstrap.php übergebenen variablen die für das template benötigt werden keine Werte haben.

Konkret:
Die variable $oBox wird vom template (box_filter_characteristics.tpl)benötigt allerdings hat diese zum Zeitpunkt der hookausführung keinen Wert zugewiesen. Normalerweise sollte dies aber nicht der Fall sein oder? Da der \HOOK_SMARTY_OUTPUTFILTER am "Ende des Smarty-Output Filters" ausgeführt wird?

Globale variablen können innerhalb des Plugins regulär über den namen verwendet werden ($oBox), oder muss ich hier etwas beachten?

Viele Grüße
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.629
325
Wenn Du eine ganze TPL-Datei überschreiben willst, nutze den Hook 208. Damit hast Du vollen Zugriff auf alle in dieser TPL verwendeten Variablen/Objekte, anders als bei Hook 140. Hoock 140 dient in erster Linie dazu, Code per PHP-Query (ähnliche JQuery) per Selektor zu manipulieren. Weiter muss man sich alle Variablen vorher über die Methode Shop::Smarty()->getTemplateVars() ziehen bevor man Zugriff hat.
 

MaxWe

Sehr aktives Mitglied
6. August 2018
313
42
Hamburg
Moin Moin,
ich entführe den Thread einfach mal.

Ich versuche grade eine Templatefile via HOOK 208 zu überschreiben. Grundsätzlich würde es mir auch reichen einzelne Blöcke zu überschreiben..
Ich verstehe die HOOKS leider noch nicht so ganz :/
Aktuell versuche ich es via HOOK 208 so:
Code:
<?php
/**
* Hook HOOK_SMARTY_FETCH_TEMPLATE
*
* @global String &$original
* @global String &$custom
* @global String &$fallback
* @global String &$out
*/

if(strpos($original,'variationen')){
    $out = $oPlugin->cFrontendPfad.'templates/'.'variationen.tpl';
}
Allerdings ohne Erfolg, wie greift man denn die richtige .tpl ab und gibt seine eigene weiter?

Wäre für meinen Fall allerdings vielleicht der HOOK 140 besser geeignet? Wie gesagt, einzelne Blöcke würden mir theoretisch reichen. Allerdings scheint mir das mittels phpquery recht aufwendig..

Beste Grüße
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
Versuchst du das in Shop 5?
Dann reicht es, im Plugin die Struktur der zu überschreibenden Templatedatei nachzubilden und den Block zu erweitern.
Für die Templatedatei NOVA/productdetails/variation.tpl würde das heißen, im Plugin die Datei
<pluginverzeichnis>/frontend/templates/productdetails/variation.tpl
erstellen und darin den im Template definierten Block erweitern, z.B. via
Code:
{block name='productdetails-variation' append}
Ich bin Inhalt, der angehängt wird.
{/block}
 

MaxWe

Sehr aktives Mitglied
6. August 2018
313
42
Hamburg
Versuchst du das in Shop 5?
Dann reicht es, im Plugin die Struktur der zu überschreibenden Templatedatei nachzubilden und den Block zu erweitern.
Für die Templatedatei NOVA/productdetails/variation.tpl würde das heißen, im Plugin die Datei
<pluginverzeichnis>/frontend/templates/productdetails/variation.tpl
erstellen und darin den im Template definierten Block erweitern, z.B. via
Code:
{block name='productdetails-variation' append}
Ich bin Inhalt, der angehängt wird.
{/block}
Sorry, hatte ich ganz vergessen! Ich nutze den Shop 4 und würde es auch gerne dafür umsetzen..
Hättest du da eventuell auch eine Lösung?

Davon ab scheint es in der Version 5 deutlich einfacher geworden zu sein!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL-Shop 5.5.2 – Fehlerhafter Canonical-Tag im Blog-Template verhindert Indexierung durch Google JTL-Shop - Fehler und Bugs 2
Neu Link-Tag-Erstellung in Template-Dateien Templates für JTL-Shop 2
Neu Syntax error im Template NOVA JTL-Shop - Fehler und Bugs 2
Neu NOVA Child-Template funktioniert nicht wie erwartet jtlshop 5.6 Templates für JTL-Shop 2
Neu Nova Template 5.6.0 - Sortierung Merkmal in der Navigationsbox Templates für JTL-Shop 1
Beantwortet Template update nach Shop update auf Installation / Updates von JTL-Shop 4
Neu Encoding-Probleme mit dem Proto-Template Templates für JTL-Shop 7
Neu Beat Template zu verkaufen Templates für JTL-Shop 0
Neu Template von CFE auf Hosting Templates für JTL-Shop 2
Neu JTL-Shop-Template Technik – optimiert für Performance & Conversion Templates für JTL-Shop 11
Neu Fehlerhafte Adress-Übernahme durch NinePoint (Mirakl → JTL) – wer ist noch betroffen? JTL-Wawi - Fehler und Bugs 3
Beantwortet Ihr Token bei JTL-eazyAuction ist ausgelaufen - Verletzung von Nebenpflichten (Treue- und Informationspflicht) durch JTL Einrichtung und Installation von JTL-eazyAuction 4
Neu JTL-Shop 5.2.3 – Google-Shoppin-Plugin 2.3.0: Mehrere Rückgaberichtlinien (DE + Ausland) bei einem Feed / return_policy_label Plugins für JTL-Shop 0
Neu VeroPay Plugin? Kampfansage gegen PayPal? User helfen Usern 54
Neu Coupon-Steuer Plugin: Korrekte Steuerberechnung für JTL-Shop Coupons Plugins für JTL-Shop 1
Neu How to properly update order status through JTL Shop plugin? Allgemeine Fragen zu JTL-Shop 4
Neu Update auf 5.6.1. – Trusted Shops Plugin erzeugt Fehlercode 500 Installation / Updates von JTL-Shop 6
Neu 🌟Neues Plugin: 35up Automatisiertes Cross-Selling Plugins für JTL-Shop 0
Neu 🚀 Pilotkunden gesucht: HS Dynamic Pricing Plugin für JTL-Shop Plugins für JTL-Shop 0
Neu Plugin: DITH Mengenrabatt – Warenkorbrabatte nach Stückzahl (mix + match), ohne Preisänderung am Artikel Plugins für JTL-Shop 0
Neu 🚀 JTL Shop Performance Check (Free): Kostenloses Plugin Plugins für JTL-Shop 0
Neu HTTP ERROR 500 - plugin installieren JTL-Shop - Fehler und Bugs 0
Neu Neues Plugin: DITH ShipNow – Versand-Countdown ⏱️ Plugins für JTL-Shop 0
Neu Paypal Plugin JTL-Shop - Fehler und Bugs 1
Neu Fragen zum KBA Finder Plugin (CiN) Plugins für JTL-Shop 1
Neu JTL Shop Brevo Plugin meldet keine Abmeldungen an JTL Shop + Kontakte landen nicht in der Willkommenssequenz Plugins für JTL-Shop 0
Neu Neues PLugin: DITH Lieferantenbestand – realistische Lieferzeiten mit Lieferanten- + Eigenbestand Plugins für JTL-Shop 0
Neu PayPal-Plugin blockiert bei PayPal-Störung Checkout JTL-Shop - Fehler und Bugs 4
Neu Teststand auf localhost - Plugin-Lizenzen abgelaufen Plugins für JTL-Shop 2
Neu Neues Plugin: JTL Closed Shop – Zugangsbeschränkung, Pre-Sale & Wartungsmodus für deinen JTL-Shop Plugins für JTL-Shop 2
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 3
Neu Mindestbestellwerte nach verschiedenen Lieferarten mit dem Plugin Lieferslot Allgemeine Fragen zu JTL-Shop 1
Neu PayPal Checkout Plugin (iPhone), Probleme mit PayPal-App Plugins für JTL-Shop 0
Neu Plugin: Mengenrabatt im Warenkorb nach Artikelanzahl Plugins für JTL-Shop 0
Neu 📢 Neues Plugin "JTL Translate Pro" by Nirico.de Plugins für JTL-Shop 0
Neu JTL PayPal Plugin - keine Einstellmöglichkeiten, keine Anzeige im Frontend Plugins für JTL-Shop 2
Neu Plugin-Idee: Überkäufe Lieferantenbestände & Lieferzeiten (API/CSV/XML) in Shop & Wawi Plugins für JTL-Shop 2
Neu Plugin Manager Fehlermeldung JTL-Shop - Fehler und Bugs 4
Neu Nach Update auf PayPal 2.1.0 doppelte Zahlungsarten und Ratepay Plugin erforderlich Plugins für JTL-Shop 0

Ähnliche Themen