Hallo,
wir möchten für ein paar Artikel ein alternatives Template für die Produktdetailseite einsetzen.
Bei den letzten OXID Version 4… hat das auch wunderbar funktioniert.
alle neuen Template-Alternativen im Code entsprechend in den drei Dateien geändert
im Admin-Bereich im Register “Erweitert” unter “Altern. Template” folgendes eingetragen: page/details/details-xyz.tpl"
alle Caches/tmp geleert, Views aktualisiert
→ Leider erfolglos. Das alternative Template wird gar nicht berücksichtigt.
Habe ich hier eine Datei übersehen? (muss man da noch im Ordner /widget/product/ irgendeine Datei ändern oder neu anlegen?)
(Ja, ich habe die Suche genutzt, leider hat mir das nicht weitergeholfen)
ich habe das gerade im allerfrischesten b-7.0.x branch von OXID mit dem neuen, noch unveröffentlichten Twig-Theme getestet und es funktioniert nach wie vor einwandfrei.
Meine Schritte:
Anlegen des Child-Themes mit dem jeweiligen Theme und dessen Version in theme.php:
Anlegen des alternativen Templates im Subfolder tpl des Child-Themes (in meinem Fall in source/Application/views/child-theme/tpl/custom/details.html.twig)
Aktivieren des Child-Themes im Admin-Backend
Eintragen von custom/details.html.twig am Artikel unter Erweitert → Alt. Template
Hat bei mir einwandfrei funktioniert.
Funktionieren denn die anderen Überschreibungen durch das Child-Theme?
Eigentlich geht es hier nicht um die Erstellung eines Child-Themes, denn das funktioniert. Auch kleine Änderungen in der productmain.tpl klappt hervorragend. Das wird dann für alle Produkte angezeigt.
Hier ging es aber um ein alternatives Template für einen einzelnen Artikel bzw. Artikelgruppe.
Aber nach langen Recherchen und ausprobieren, habe ich die Lösung gefunden:
Alternative Templates im Ordner [Child-Theme]/page/details/ bzw. [Child-Theme]/page/details/inc/ anlegen: details-xyz sowie die abhängigen Dateien productmain-xyz und fullproductinfo-xyz
Im Code die neuen Dateien eintragen bzw. ändern
Jetzt das was die Lösung ist/war:
Im Ordner [Child-Theme]/widget/product/ die details.tpl aus dem Eltern-Theme kopieren und umbenennen z.Bsp: details-xyz.tpl
Diese Datei in einem Editor öffnen und in der ersten Zeile die Datei bei “include file” ändern auf das neue Template
[{include file=“page/details/details-xyz.tpl” blWorkaroundInclude=true}]
Die Datei [Child-Theme]/page/details/details-xyz.tpl im Editor öffnen
Die Zeile mit [{oxid_include_widget cl=“oxwArticleDetails” _parent=… suchen (Bei mir war das die Zeile 6)