Änderung am Template verschwindet immer wieder

Hallo,

wir haben einen Kunden für den ich über ein Plugin eine Templateänderung vorgenommen habe.

Bei einer Neuinstallation des Plugins wird das Theme mit kompiliert und alles sieht richtig aus. Allerdings verschwindet irgendwann die Änderung am Template wieder von ganz alleine. Komisch ist hier, dass die CSS von meinem Plugin übernommen wird (also bleibt) aber der Inhalt der .tpl-Datei nicht. Gehe ich dann her und installiere das Plugin wieder neu und kompiliere somit auch wieder alles wird die Änderung wieder angezeigt.

Meine Vermutung ist, dass irgendein Cronjob das Theme neu kompiliert, aber die Änderung die das Plugin macht nicht mitnimmt. Neben den Cronjobs gibt es doch nichts, was bei Shopware automatisiert abläuft und die Änderung rückgängig machen könnte, oder?

Hat jemand schon einmal solch ein Verhalten beobachtet?

Die eingesetzte Shopwareversion ist übrigens 5.1.6

Das heißt, dass hier noch das alte Pluginsystem verwendet wird und ich damit nur wenig Erfahrung habe im Vergleich zum neuen System. Vielleicht fehlt mir irgendetwas? Muss ich die Templateänderung noch irgendwo registrieren?

Das “addTemplateDir” habe ich auf das Event “Enlight_Controller_Action_PostDispatchSecure_Frontend” registirert.

Habt ihr überhaupt ein eigenes Theme erstellt?

Es gibt schon ein eigenes Theme, was nicht von uns ist.

Also notfalls werde ich das modifizieren und die Änderung einbauen.

Welches Template ändert ihr mit dem Plugin? Ich nehme mal an eins, welches gecached wird

Das hier:
 

{extends file='parent:widgets/index/shop_menu.tpl'}

{block name='frontend_index_actions_active_shop'}
    {* hier ist die Änderung *}
    {$smarty.block.parent}
{/block}

das gleiche wird auch von dem Theme verändert und dort wird die gleiche Technik genutzt (musste ich umschreiben, weil das Template vorher den kompletten Block einfach überschrieben hatte). Die Änderung vom Theme bleibt immer erhalten.

Wenn du ein Template im widgets-Modul (widgets/index/shop_menu.tpl) anpasst, musst du das Template-Verzeichnis zusätzlich für dieses Modul registrieren. Füge mal folgendes Event hinzu:

Enlight_Controller_Action_PostDispatchSecure_Widgets

und registriere dein Template-Verzeichnis in der Event-Listener Funktion.

Viele Grüße

1 „Gefällt mir“

Das hat geklappt, vielen Dank!

Wieder was gelernt (: