• Startseite
  • Blog
  • Shopware 6: Die Herausforderungen bei Versionsupdates
Shopware Update Header

Shopware 6: Die Herausforderungen bei Versionsupdates

  • Thorsten Kiesch
  • Blog

Die meisten Betreiber von Online-Shops, die auf die Technologie von Shopware setzen, kennen wohl das Problem beim Update auf eine neue Version. Im Optimalfall läuft ein solches Update ohne Probleme, im schlimmsten Fall funktioniert der Shop danach erst mal nicht mehr bzw. ist vielleicht auch gar nicht mehr erreichbar. Mit den folgenden Ratschlägen könnt ihr dem etwas entgegenwirken.

Vererbung

Dazu werfen wir zunächst einen Blick darauf, wie Shopware mit der Vererbung von Dateien grundsätzlich funktioniert. Damit nach einem Update eigene Änderungen am Template nicht verloren gehen, sollten diese nie im Standard-Template gemacht werden. Bei Shopware 6 erstellt man stattdessen zunächst ein eigenes Theme, welches vom Standard-Theme abgeleitet ist. Wir ändern also nur einzelne Blöcke in den Bereichen, die wir individuell anpassen möchten und vererben den Rest vom Standard-Theme.

 {% sw_extends '@Storefront/storefront/ordner1/ordner2/datei.html.twig' %}
 {% block name_des_blocks %}
 // Man erbt die komplette Datei des Standard-Themes und überschreibt hier nur den Block "name_des_blocks" 
 {% endblock %}
Abbildung 1

Um ein eigenes Theme zu verwenden, muss das nach der Erstellung automatisch bereitgestellte Plugin dafür über den Plugin-Manager im Backend noch installiert und aktiviert werden.

Ablauf eines Updates

  1. Backup erstellen
    Bevor wir ein Update durchführen, sollten wir zuallererst ein Backup des Shops erstellen. Nur so ist es möglich, bei einem eventuell auftretenden Fehler den ursprünglichen Stand wiederherzustellen.
  2. Changelog studieren
    Zudem sollten wir genau schauen, was sich im Vergleich zur alten Version genau getan hat und welche Hinweise es zum gewünschten Update gibt. Dafür stellt Shopware ein Changelog bereit, in dem alle Änderungen dokumentiert sind.
  3. Plugin auf Kompatibilität prüfen
    Ein weiterer Punkt, den es bei einem Update zu beachten gilt, ist die Überprüfung der eingesetzten Plugins. Diese sollten aktuell und vor allem kompatibel zur neuen gewünschten Shopware-Version sein. Inkompatible Erweiterungen sind wohl eine der Hauptursachen, warum es nach einem Update Probleme gibt. Daher dürfen im Plugin-Manager ausschließlich kompatible Plugins existieren, unabhängig davon, ob diese aktiv sind oder nicht.
  4. Update durchführen
    Wenn alle Voraussetzungen gegeben sind, können wir das Update durchführen. Dazu nehmen wir die im Changelog bereitgestellte zip-Datei und überschreiben damit den Inhalt der aktuellen Version auf dem Server. Beim anschließenden Aufruf von http(s)://www.unser-shop.de/recovery/update/index.php werden wir über den Browser durch die Installation geführt.
  5. Cache leeren
    Nachdem der Update-Vorgang abgeschlossen wurde, müssen wir nun noch den Cache des Browsers löschen, bevor wir das Backend aufrufen.
  6. Prüfen / Testen
    Zu guter Letzt sollten wir alles hinsichtlich der Funktionalität und des Layouts im Frontend gründlich testen. Gegebenenfalls müssen wir im Installationsverzeichnis noch den Ordner /var/cache/prod_xxxxxxxxxxxxxx entfernen.

Mögliche Probleme

Leider funktioniert jedoch bei einem Update nicht immer alles reibungslos. Als wir beispielsweise unsere eigenen Shops schrittweise von der Version 6.1.5 auf 6.2.3 aktualisiert hatten, waren alle eigenen Änderungen am Template erst mal weg. Nun ging die Suche nach der Ursache los und kostete zugegeben auch einige Nerven. Die Lösung war letztendlich, ob man es glaubt oder nicht, dass das eigene Theme in der theme.json nun auf einmal groß geschrieben werden musste, obwohl es im Backend klein geschrieben ist und damit ja auch bis zum Update reibungslos funktionierte.

 {
  "name": "UnserTheme",
  "author": "Max Mustermann",
  "views": [
    "@Storefront",
    "@Plugins",
    "@UnserTheme"
  ],
  "style": [
    "app/storefront/src/scss/overrides.scss",
    "@Storefront",
    "app/storefront/src/scss/base.scss"
  ],
  "script": [
    "@Storefront",
    "app/storefront/dist/storefront/js/unser-theme.js"
  ],
  "asset": [
    "app/storefront/src/assets"
  ]
 }
Abbildung 2

Fazit

Mit Shopware hat jeder Händler, der seine Produkte online vertreiben möchte, definitiv eine gute Basis. Gerade die verschiedenen Versionen für unterschiedliche Bedürfnisse und Geschäftsmodelle machen Shopware sehr flexibel und mit der kürzlich erschienenen cloudbasierten Starter Edition erfreuen sich auch vor allem kleinere Geschäfte, die im E-Commerce erstmals Fuß fassen wollen.

Shopware 6 wirkte jedoch gerade mit den ersten Versionen noch recht unrund. Ein Blick auf den Issuetracker oder in diverse Diskussionen im Forum zeigt, dass noch eine ganze Menge an Fehlern auftreten. Auch die Dokumentation ist teilweise unvollständig. Der Fehler aus dem oben beschriebenen Beispiel ist ein perfektes Beispiel dafür.

Unterm Strich sieht man im Changelog jedoch auch, dass Shopware nicht untätig ist. Trotz der möglichen Probleme lohnt sich daher jedes Update und wenn die ersten größeren Probleme behoben sind, wird Shopware 6 hier wohl noch eine ganze Menge Spaß bereiten.

Shopware, E-Commerce, Online-Shops

Thorsten Team EURESA
Autor: Thorsten Kiesch  
Webentwicklung & IT
Der Wirtschaftsinformatiker ist bei EURESA für die Weiterentwicklung des hauseigenen Intranets und – damit einhergehend – technische Optimierung interner Prozesse verantwortlich. Seine Spezialgebiete sind PHP-Skripte, Datenbanken und die Programmiersprache Javascript.

Php

Datenbanken

Javascript

© 2011 -
Made with in Saarburg

Adresse


EURESA Consulting GmbH
Graf-Siegfried-Straße 6
54439 Saarburg
Wir benutzen Cookies
Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.