Shopware 6.5
Veröffentlicht: 17. April 2023
Shopware 6.5
In diesem Beitrag erfährst du die wichtigsten Informationen zu Shopware 6.5 und Bootstrap 5.
Shopware hat mit dem Update auf Version 6.5 sehr umfangreiche und grundlegende Änderungen vorgenommen.
Wir möchten in diesem Beitrag ein paar, aus technischer Sicht, besonders relevante Änderungen in Shopware 6.5 im Bezug auf ThemeWare® vorstellen. Detaillierte Informationen zu ThemeWare® findest du in einem separaten Beitrag.
Shopware 6.5
Shopware 6.5 bietet neben grundlegenden technischen Änderungen auch neue Features.
Bei den Systemanforderungen muss nun PHP 8.1 oder höher verwendet werden. NodeJS ist in Version 18 oder höher notwendig.
In der Administration wurden Performance-Optimierungen durchgeführt. Zudem wurde die Schriftart für eine bessere Lesbarkeit geändert. Weiter gibt es Verbesserungen beim Regel-Management und im Rule Builder. Es gibt eine neue Adress-Verwaltung, Verbesserungen im UI für Bestellungen, Verbesserungen im Flow Builder und Steueranbieter für externe Steuerdienstleistungen.
Alle Informationen zu den Änderungen und Features von Shopware 6.5 findest du direkt bei Shopware.
Shopware 6 Changelog
https://www.shopware.com/de/changelog/
https://github.com/shopware/platform/blob/6.5.0.0/UPGRADE-6.5.md
Shopware 6.5 – alles über das brandneue Major Release
Shopware 6.5 – teste den neuen Release Candidate
https://www.shopware.com/de/news/shopware-6-5-release-candidate/
ThemeWare® 2.0
Da viele Änderungen in Shopware 6.5 erst ab Version 6.5 gültig und teils nicht abwärtskompatibel sind, wird für Shopware 6.5 nun ThemeWare® 2.x benötigt. Für Shopware 6.4 kann weiterhin ThemeWare® 1.x genutzt werden.
- ThemeWare® 1.x für Shopware 6.4.x
- ThemeWare® 2.x für Shopware 6.5.x
Hinweis: Informationen zum Update auf und Features von ThemeWare® 2.0 findest du im Beitrag "ThemeWare® 2.0".
Hinweis zum Shopware-Update
Da es bei Major-Releases von Shopware aufgrund von "Breaking changes" zu Inkompatibilitäten mit Erweiterungen (Plugins/Apps) und Themes kommen kann, empfehlen wir solch große Updates vorab in einem Testsystem oder einer Staging-Umgebung zu testen und zusätzlich vorab ein vollständiges Backup das Shops zu erstellen.
Weise vor dem Shopware-Update das Shopware Standard-Theme deinem Verkaufskanal bzw. deinen Verkaufskanälen zu.
Starte den Update-Assistenten. Dieser informiert dich über "inkompatible" Erweiterungen. Deaktiviere "inkompatible" Erweiterungen (Plugins/Apps) und Themes (z.B. ThemeWare®) vor dem Shopware-Update in der Erweiterungsverwaltung und führe erst danach das Shopware-Update auf Version 6.5.x durch.
Aktualisiere nach dem Shopware-Update alle Erweiterungen (Plugins/Apps) sowie Themes auf die jeweils neuste Version (z.B. ThemeWare® auf die Version 2.x).
Prüfe nun ob alle Erweiterungen (Plugins/Apps) sowie dein Theme kompatibel mit Shopware 6.5 sind und aktiviere die jeweilige Erweiterung bzw. das jeweilige Theme erst, wenn du sicher bist, dass diese kompatibel sind.
Weise abschließend dein Theme (z.B. ThemeWare®) wieder dem den gewünschten Verkaufskanal bzw. den gewünschten Verkaufskanälen zu.
Tipp: Beachte bei Shopware-Updates gerne unseren Artikel "Shopware Updates und ThemeWare®" in der ThemeWare® Wissensdatenbank.
Nach dem Update
Die größte Neuerung für Themes bzw. etwaige individuelle Anpassungen ist der Wechsel von Bootstrap 4 auf Bootstrap 5 in Shopware 6.5. Da die Shopware 6 Storefront vollständig auf dem Bootstrap Framework basiert, ist dies eine nicht unerhebliche Änderung.
Hast du individuelle Anpassungen an der Storefront vorgenommen oder vornehmen lassen, prüfe und aktualisiere diese, damit Sie nicht zu Fehlern führen!
Nachfolgend findest du allgemeine Informationen zu Änderungen in Bootstrap 5.
Bootstrap v5
Durch das Update auf Bootstrap 5 mussten Theme- und Plugin-Hersteller umfangreiche Anpassungen an Template-, SCSS- und JS-Dateien vornehmen. Dies gilt so natürlich auch für ThemeWare®.
Wir haben alle Dateien von ThemeWare® geprüft und nahezu jede Datei überarbeitet. Du musst dich daher um nichts kümmern außer um etwaige individuelle Anpassungen oder individuellen HTML-/CSS-Code.
Hinweis: Alle Informationen zu den Änderungen von Bootstrap 5, findest du auf der folgenden Seite: https://getbootstrap.com/docs/5.0/migration/
Browser support
Mit Bootstrap 5 wurde der Support für verschiedene ältere Browser eingestellt:
- Dropped Internet Explorer 10 and 11
- Dropped Microsoft Edge < 16 (Legacy Edge)
- Dropped Firefox < 60
- Dropped Safari < 12
- Dropped iOS Safari < 12
- Dropped Chrome < 60
JavaScript/jQuery
jQuery ist nicht mehr Bestandteil von Bootstrap 5 und damit nicht mehr automatisch Bestandteil der Shopware 6.5 Storefront. Wir haben diesbezüglich alle JavaScript-Plugins von ThemeWare® überarbeitet.
Bis die aufwendigen Header-Plugins vollständig migriert wurden ist jQuery allerdings noch nötig für ThemeWare®. Darum ist jQuery 3.5.1 slim
nun – bis auf Weiteres – in ThemeWare® 2.0 integriert.
Hinweis: Du kannst jQuery natürlich über die ThemeWare®-Konfiguration deaktivieren. In diesem Fall funktioniert der "Erlebniswelt-Header", die "Sticky Top-Navigation" und der "Full-Width Sticky-Header" nicht mehr.
Breakpoints
Einige Breakpoint-Mixins wurden geändert und haben nun ein logischeres naming:
- Replace all mixin usages of
media-breakpoint-down()
with the current breakpoint, instead of the next breakpoint:- Replace
media-breakpoint-down(xs)
withmedia-breakpoint-down(sm)
- Replace
media-breakpoint-down(sm)
withmedia-breakpoint-down(md)
- Replace
media-breakpoint-down(md)
withmedia-breakpoint-down(lg)
- Replace
media-breakpoint-down(lg)
withmedia-breakpoint-down(xl)
- Replace
media-breakpoint-down(xl)
withmedia-breakpoint-down(xxl)
- Replace
CSS-Klassen
Einige CSS-Klassen wurden umbenannt bzw. ersetzt:
- Replace
data-toggle
withdata-bs-toggle
- Replace
data-dismiss
withdata-bs-dismiss
- Replace
data-target
withdata-bs-target
- Replace
data-offset
withdata-bs-offset
- Replace
custom-select
withform-select
- Replace
custom-file
withform-file
- Replace
custom-range
withform-range
- Replace
no-gutters
withg-0
- Replace
custom-control custom-checkbox
withform-check
- Replace
custom-control custom-switch
withform-check form-switch
- Replace
custom-control custom-radio
withform-check
- Replace
custom-control-input
withform-check-input
- Replace
custom-control-label
withform-check-label
- Replace
form-row
withrow g-2
- Replace
modal-close
withbtn-close
- Replace
sr-only
withvisually-hidden
- Replace
badge-*
withbg-*
- Replace
badge-pill
withrounded-pill
- Replace
close
withbtn-close
- Replace
left-*
andright-*
withstart-*
andend-*
- Replace
float-left
andfloat-right
withfloat-start
andfloat-end
- Replace
border-left
andborder-right
withborder-start
andborder-end
- Replace
rounded-left
androunded-right
withrounded-start
androunded-end
- Replace
ml-*
andmr-*
withms-*
andme-*
- Replace
pl-*
andpr-*
withps-*
andpe-*
- Replace
text-left
andtext-right
withtext-start
andtext-end
Damit einhergehend ändert sich auch der HTML-Aufbau mancher Elemente. Nachfolgend findest du ein paar Beispiele:
Replace .btn-block class with .d-grid wrapper
// Before
<a href="#" class="btn btn-block">Default button</a>
// After
<div class="d-grid">
<a href="#" class="btn">Default button</a>
</div>
Remove .input-group-append wrapper inside .input-group
// Before
<div class="input-group">
<input type="text" class="form-control">
<div class="input-group-append">
<button type="submit" class="btn">Submit</button>
</div>
</div>
// After
<div class="input-group">
<input type="text" class="form-control">
<button type="submit" class="btn">Submit</button>
</div>
Zudem wurde die Funktion color-yiq()
ersetzt:
- Renamed
color-yiq()
function and related variables tocolor-contrast()
as it’s no longer related to YIQ colorspace
Modals
- Deprecated selector
[data-bs-toggle="modal"][data-url]
to initialize theAjaxModal
plugin. Use selector[data-ajax-modal][data-url]
instead.
Prüfe deine individuellen Template und Textbausteine die Modals öffnen (z.B. formPrivacy). Der Selector wurde geändert.
Hinweis: Beachte in diesem Zusammenhang bitte auch die von Shopware geänderten Textbausteine weiter unten.
Vorher
<a data-bs-toggle=\"modal\"
z.B.
<a data-toggle=\"modal\" data-bs-toggle=\"modal\" data-url=\"%url%\" href=\"%url%\" title=\"Mehr Informationen\">Mehr Informationen ...</a>
Nachher
<a data-ajax-modal="modal"
z.B.
<a data-ajax-modal=\"true\" data-url=\"%url%\" href=\"%url%\" title=\"Mehr Informationen\">Mehr Informationen ...</a>
Tabellen
Da Tabellen recht häufig in Erlebniswelten genutzt werden möchten wir noch auf eine Änderung der Tabellen in Bootstrap 5 hinweisen. Es gibt neue CSS-Klassen und manche CSS-Klassen wurden entfernt.
Dies Betrifft individuelle Bootstrap-Tabellen. Die "Eigenschaften-Tabelle" bzw. "Preistabelle" auf der Produktseite werden mit dem Update automatisch aktualisiert.
Textbausteine
- Deprecated translation key
general.privacyNotice
. Usegeneral.privacyNoticeText
instead. - Deprecated translation key
account.profileDelete
. Useaccount.profileDeleteText
instead. - Deprecated translation key
checkout.confirmTerms
. Usecheckout.confirmTermsText
instead. - Deprecated translation key
checkout.confirmTermsReminder
. Usecheckout.confirmTermsReminderText
instead. - Deprecated translation key
contact.privacyNotice
. Usecontact.privacyNoticeText
instead. - Deprecated translation key
footer.serviceContactLink
. Usefooter.serviceContactText
instead. - Deprecated translation key
footer.includeVat
. Usefooter.includeVatText
instead. - Deprecated translation key
footer.excludeVat
. Usefooter.excludeVatText
instead. - Deprecated translation key
cookie.message
. Usecookie.messageText
instead. - Deprecated translation key
component.cms.vimeo.privacyNotice
. Usecomponent.cms.vimeo.privacyNoticeText
instead.
Storefront Theme-Assets
In früheren Shopware-Versionen wurden die Theme-Assets in die Ordner bundles/[theme-name]/file.png
und theme/[id]/file.png
kopiert. Dies war notwendig, um Assets in der Storefront verlinken zu können, da Theme-Assets nicht den Theme-Pfad-Präfix enthielten.
Um die Leistung von theme:compile
zu verbessern und die Verwirrung bei der Nutzung von Assets zu verringern, werden die Assets nur noch nach theme/[id]
kopiert.
- Replace
{{ asset('logo.png', '@ThemeName') }}
with{{ asset('logo.png', 'theme'') }}
Fazit
Soweit zu den grundlegendsten Änderungen bezüglich Bootstrap v5 und Shopware 6.5.
Die meisten dieser Änderungen betreffen den Kern von Shopware bzw. ThemeWare®. Du musst daher gar nicht viel selber machen oder beachten.
Nutzt du hingegen individuellen HTML-/CSS-Code in deinen Erlebniswelten oder hast individuelle Anpassungen (z.B. Twig, JS, SCSS) gemacht bzw. machen lassen, musst du diese natürlich prüfen oder prüfen lassen.
Tipp: Alle Informationen zur Migration von Bootstrap 5, findest du auf der folgenden Seite: https://getbootstrap.com/docs/5.0/migration/