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.670
338
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 Slider im Nova Template Templates für JTL-Shop 1
Neu Durch Massenupdate Menge auf ebay ändern User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kommissionierwagen durch scannen auswählen geht nicht User helfen Usern - Fragen zu JTL-Wawi 3
Neu SPAM durch die Eingabeseite bei den Kundendaten JTL-Shop - Fehler und Bugs 67
Abonnements durch WORKER automatisch erstellen ?? falsches Erstelldatum Aufträge JTL-Wawi 1.11 1
Neu Cross Selling Plugin Plugins für JTL-Shop 1
Neu Installation von Plugin PayPal Check-Out fehlgeschlagen, keine Verbindung zum Webshop Plugins für JTL-Shop 6
Neu Beim Versuch Paypal-Plugin mit Paypal-Konto zu verbinden Shop nicht mehr erreichbar Plugins für JTL-Shop 2
Neu Neues Plugin: Produktbundles mit Rabatten Plugins für JTL-Shop 0
Neu Widerrufsformular als kostenloses Plugin für Shops ab 5.1.5 Plugins für JTL-Shop 9
Neu Neues Plugin: Kaufimpuls Paket Plugins für JTL-Shop 0
Neu Paypal Checkout Plugin - Ist vorhanden aber nichts funktioniert Plugins für JTL-Shop 9
Neu Neues Plugin: Sauberes Meta-Tracking für JTL-Shop 5 (Pixel + CAPI + Consent) Plugins für JTL-Shop 0
Neu 📢 Plugin "Kreditlimit Plugin für JTL-Shop 5 " von CIN GmbH Plugins für JTL-Shop 0
Neu Händlerbund-Plugin lädt Texte herunter, ersetzt sie aber nicht im Frontend Technische Fragen zu Plugins und Templates 1
Neu 503 Service Unavailable bei Payrexx Webhook nach Plugin-Update - wer hat das auch? Plugins für JTL-Shop 0
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

Ähnliche Themen