Best practice um theme anzupassen

Hi, wie passt ihr eure Themes am besten an?

Hatte nämlich kürzlich das Problem, dass ich direkt die css werte im Theme bearbeitet habe oder direkt in das Theme reingegangen bin und Tags oder Attribute entfern haben. Das Problem war nun, dass nach einem Update alles wieder da ist und ich alle änderungen wieder machen muss…

Hatte überlegt entweder ein eigenes Theme zu erstellen auf Basis eines kostenlosen Themes ( indem dies einfach 1:1 reinkopiert wird und anschließend bearbeitet). Da stellt sich mir jedoch die Frage, was nach einem Shopware update passiert?

Würde mich deswegen mal interessieren, wie ihr das Design eures Shops anpasst.

@Secewen, wie du bereits erwähnt hast sollten Änderungen nie im Theme oder Plugin selbst durchgeführt werden, da die Änderungen mit einem Update wieder verloren gehen.

Ein eigenes Theme zu erstellen ist der richtige weg. Jedoch sollte dein Theme nicht eine 1:1 Kopie eines anderen Themes sein. Alleine rechtlich gesehen könnte es Probleme geben.

Vielmehr sollte dein Theme das andere Theme erweitern, d. h. du erweiterst z. B. eine Template Datei und änderst den entsprechenden Twig-Block usw.

Eine Anleitung wie du ein eigenes Theme erstellst findest du in der Shopware Doku Create a first theme - Shopware Developer

Hier hast du die Doku, wie du die Configs von einem Theme die Konfigurationen erben kannst https://developer.shopware.com/docs/guides/plugins/themes/theme-configuration#config-inheritance

vg

1 „Gefällt mir“

In dem Fall würde ich kein eigenes Theme, sondern ein Plugin erstellen und mit dem Plugin das Theme überschreiben. So sind die Änderungen Theme-Update sicher. In der Theme.json muss halt festgehalten werden, dass Plugin xyz das Theme überschreibt. Das ist das einzige, was nicht update-sicher wäre.

1 „Gefällt mir“

Danke, habe es jetzt wie @abdullah erwähnt hat gemacht und funktioniert alles.
CSS Variablen kann ich jetzt anpassen, aber wie entfernt oder fügt ihr neue Blöcke hinzu? Z.B. ist im Theme unten links die Section:
"SERVICE-HOTLINE
Unterstützung und Beratung unter: … "
Würde die jetzt einfach mit Javascript oder PHP code entfernen, indem ich das komplette Element rauslösche und andersrum neue Blöcke hinzufüge mit JS oder PHP Code. Oder fällt hier jemanden eine bessere Möglichkeit ein?
Das Problem dabei ist, dass man am Anfang kurz die alten Änderungen sieht und anschließend das Javascript erst alles anpasst…

Das entsprechende Twig-Template erweitern und den entsprechenden Twig-Block ersetzen/erweitern.

1 „Gefällt mir“