Wie überschreibt man ein Template unter SwagEmotionAdvanced

Hallo zusammen,

wir benötigen eine Anpassung im Template emotion-world.tpl unter SwagEmotionAdvanced/Views/widgets/emotion/emotion-types/emotion-world.tpl.

Wie wäre hier der updatesichere Weg um das Template für unsere Bedürfnisse anzupassen.

Viele Ansätze die hier im Forum besprochen wurde haben bei uns leider nicht funktioniert.

Danke & Viele Grüße

Oliver

Ich habe genau das selbe Problem. Bin mit dem Forum leider auch nicht ans Ziel gekommen. Gibt es hier keine Lösung?

Fündig :wink: ich wollte die Datei „\engine\Shopware\Plugins\Community\Frontend\SwagEmotionAdvanced\Views\widgets\swag_emotion_advanced\container.tpl“ überschreiben.

Ihr müsst einfach die Struktur ab widgets in eurem Theme übernehmen dann läufts. In meinem Fall

\themes\Frontend*****MEINTHEME*******\widgets\swag_emotion_advanced\container.tpl

1 „Gefällt mir“

Hey - danke für den Hinweis.

Wie ist denn der Wert für die Variable protected $injectBeforePlugins in Eurer Theme.php ?

Gruß Oliver

Noch mal geprüft, mit der gleichen Datei, da wir diese auch geändert hatten.

Egal mit welcher Einstellung der Variable $injectBeforePlugins, bei und funktioniert das nicht. Bist Du Dir sicher das die original Datei keine Änderungen mehr hat?

Hallo gut8er und kommad,

ich habe bei mir die Änderungen wie auch ihr in meinem eigenen Template widget Verzeichnis angelegt. Funktioniert das bei euch wirklich?

\themes\Frontend*****MEINTHEME*******\widgets\swag_emotion_advanced\container.tpl

Egal was ich tue die Änderungen werden ignoriert…

Eventuell musst du im backend unter Einstellungen den Cache leeren.

Das wäre zu einfach :slight_smile:
Habe die Cache komplett aus. Und leere sie immer. Wenn ich die Corefiles ändere funktioniert es wunderbar. Sobald ich es aber in das Custom Template packe greift keine der Änderungen.

Folgende files habe ich angepasst:

mytheme\widgets\emotion\emotion-types\emotion-world.tpl
mytheme\widgets\swag_emotion_advanced\container.tpl

Beide greifen nicht obwohl sie wie im Pfad genannt angelegt sind. Die Inhalte habe ich 1zu1 übernommen, nur style Anpassungen sind enthalten.

 

Hallo,

wenn Ihr Änderungen an einem Plugin vornehmen möchtet, solltet Ihr Euch dafür ein Theme anlegen welches die Conig  $injectBeforePlugins = false verwendet. Das Advanced Einkaufswelten Modul hat in der Version 1.0.X das Template der Einkaufswelten unter widgets/emotion komplett überschrieben, ohne die Vererbung zu nutzen. Wenn man also selbst Änderungen vornehmen wollte, musste man das ebenfalls tun. Seit Shopware 5.2 und der passenden Version des Plugins 1.1.X ist dies nicht mehr nötig. Das Advanced Einkaufswelten Modul greift nun über das Vererbungssystem in das Template ein und kann auch über die Vererbung bearbeitet werden. Wir haben zusätzlich zwei neue Blöcke im Template eingeführt um die Config Variablen der Einkaufswelten und der Elemente zu bearbeiten -  widgets/emotion/index/config und  widgets/emotion/index/element/config.

Vielleicht helfen Euch diese Infos schon weiter.

Sonnige Grüße,
Phil

Danke Phil,

vielleicht schreibt jemand mal seine Erfahrung, der das mal ausprobiert hat. In unserem Fall haben wir das anders gelöst.

Die Frage kann man ja weiter spinnen, denn wir hatten bisher immer das Problem Plugins zu erweitern, auch von anderen Herstellern.

Kann man Plugins dann so überschreiben?

\themes\Frontend*****MEINTHEME*******\frontend***PLUGIN_NAME****\plugin_template.tpl

Viele Grüße Oliver

Hallo Philipp, danke für die Rückmeldung.
Momentan verwenden wir noch Shopware 5.1.6 mit Advanced Emotion 1.0.10

Die Infos sind interessant, vor allem weil wir im Laufe des Jahres noch auf die 5.2 wechseln werden.
Allerdings funktioniert ein Überschreiben des Template selbst mit injectBeforePlugins = false auch nicht. Wenn ich die Variable auf false setze lädt die Einkaufswelt gar nicht mehr (JS Endlosschleife).

Viele Grüße mike

Hallo,

wenn die Einkaufswelt nicht geladen wird, könntest Du mal in der Konsole im Network Reiter schauen, welcher Fehler dort ausgegeben wird.

Sonnige Grüße,
Phil

Also wenn ich die Variable auf False setze bemängelt er jQuery. Allerdings ist es in der automatisch generierten .js Datei schon integriert… Nur leider am Ende der JS Datei… Showare verwendet es aber schon in vorhergehenden Zeilen.

1470292542_e58058a….js:218Uncaught ReferenceError: jQuery is not defined(anonymous function) @ 1470292542_e58058a….js:218
(index):510 Uncaught ReferenceError: jQuery is not defined(anonymous function) @ (index):510

Kann ich die Reihenfolge irgendwie beinflussen? Komischerweise passiert das nur wenn ich mein Template auf injectBeforePlugins = false setze.

EDIT: jQuery fehlt dann wohl komplett. Ich versuche das mal zu fixen.