Download Latest Version Release v6.7.0.1 source code.tar.gz (12.2 MB)
Email in envelope

Get an email when there's a new version of Shopware

Home / v6.7.0.0-rc4
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-05-15 9.6 kB
Release v6.7.0.0-rc4 source code.tar.gz 2025-05-15 12.2 MB
Release v6.7.0.0-rc4 source code.zip 2025-05-15 19.4 MB
Totals: 3 Items   31.6 MB 0

Notable Changes

Mitigate Meteor components migration with deprecated components

To support extension developers and ensure compatibility between Shopware 6.6 and Shopware 6.7, a new prop called deprecated has been added to Shopware components.

  • Prop Name: deprecated
  • Default Value: false (uses the new Meteor Components by default)
  • Purpose:
    • When deprecated is set to true, the component will render the old (deprecated) version instead of the new Meteor Component.
    • This allows extension developers to maintain a single codebase compatible with both Shopware 6.6 and 6.7 without being forced to immediately migrate to Meteor Components.

Example:

:::html
<!-- Uses mt-button in 6.7 and sw-button-deprecated in 6.6 -->
<template>
  <sw-button />
</template>


<!-- Uses sw-button-deprecated in 6.6 and 6.7 -->
<template>
  <sw-button deprecated />
</template>

With this change it is possible to add query parameters to the header/footer ESI requests. This could be used to customize the header/footer templates.

  • Extending the src/Storefront/Resources/views/storefront/base.html.twig file:

    :::twig {% sw_extends '@Storefront/storefront/base.html.twig' %} {% block base_esi_header %} {% set headerParameters = headerParameters|merge({ 'vendorPrefixPluginName': { 'activeRoute': activeRoute } }) %} {{ parent() }} {% endblock %}

  • Within a plugin, you can also use the Shopware\Storefront\Event\StorefrontRenderEvent

    :::php class StorefrontSubscriber { public function __invoke(StorefrontRenderEvent $event): void { if ($event->getRequest()->attributes->get('_route') !== 'frontend.header') { return; }

        $headerParameters = $event->getParameter('headerParameters') ?? [];
        $headerParameters['vendorPrefixPluginName']['salesChannelId'] = $event->getSalesChannelContext()->getSalesChannelId();
    
        $event->setParameter('headerParameters', $headerParameters);
    }
    

    }

After that you can use this data to customize the header template:

:::twig
{% sw_extends '@Storefront/storefront/layout/header.html.twig' %}
{% block header %}
    {{ dump(headerParameters.vendorPrefixPluginName.activeRoute) }}
    {{ dump(headerParameters.vendorPrefixPluginName.salesChannelId) }}
    {{ parent() }}
{% endblock %}

See the UPGRADE.md for all important technical changes.

Source: README.md, updated 2025-05-15