Skip to content

Changelog

DmfGuppyTheme

Every released version of DmfGuppyTheme, newest first.

Theme 11 releases latest 2.7.10RepositoryDocumentation

Compatibility

  • Verified against Shopware 6.7.13.0. layout/breadcrumb.html.twig is unchanged upstream between 6.7.11.1 and 6.7.13.0 and every overridden block still exists.
  • Support Shopware's BREADCRUMB_REWORK feature flag in layout/breadcrumb.html.twig, page/content/index.html.twig and page/content/product-detail.html.twig. The flag is off by default in 6.7, so the legacy sw_breadcrumb_full path is unchanged; when the flag (or v6.8.0.0) is active the override reads page.breadcrumb / breadcrumbCollection and resolves category URLs via seoUrl('frontend.navigation.page', ...).
  • Read seoUrl and shouldOpenInNewTab off the category entity instead of the category_url() / category_linknewtab() Twig functions. CategoryUrlExtension registers no functions once the v6.8.0.0 flag is active, and Twig resolves function names at compile time, so the breadcrumb template raised a SyntaxError under that flag even though the legacy branch was unreachable. Behaviour is unchanged: for a SalesChannelCategoryEntity those functions returned exactly getSeoUrl() and shouldOpenInNewTab().
  • Iterate searchResult.entities instead of searchResult in the product listing override. Shopware 6.7.13 gated EntitySearchResult::getIterator() behind a v6.8.0.0 deprecation, so direct iteration emitted a deprecation notice on every listing render and raised a hard error under that flag.
  • Forward referrerCategoryId through the product card detail links in card/box-standard.html.twig, so core.listing.buildBreadcrumbByReferrerCategory can build the product breadcrumb from the referring category.

Fixed

  • Fix duplicated breadcrumb separators when BREADCRUMB_REWORK is active - a trailing chevron on category pages and a doubled chevron before the product name on the detail page. The separator no longer depends on the deprecated upstream breadcrumbKeys variable and layout_breadcrumb_placeholder block.
  • Mark the decorative breadcrumb separators aria-hidden="true".
  • Evaluate switch theme config variables through the existing bool() helper instead of > 0. Shopware's theme compiler dumps switch fields as the integers 0 / 1, and 0 is truthy in Sass, so the bare truthy checks would have forced the badge outline, card border, product card protective frame and the product detail contact/buybox borders permanently on whenever a merchant switched them off. bool() also tolerates a null value, which > 0 raised an "Undefined operation" Sass error on (STARCKE-140).

Added

  • Add an out of stock badge for product cards, shown when a product's "Closeout" option is enabled and its stock has dropped below the minimum purchase quantity. Toggle via the new "Show out of stock badge" switch in theme.json (tab: Badges, block badgesOutOfStockConfiguration), with configurable background, text, and outline colours.

Fixed

  • Fix USP banner Splide initialisation to use window.DmfSplide (MEIS-34).

Fixed

  • Fix crash in ExtendedQuantitySelectorPlugin when the +/- buttons are hidden (STARCKE-140).

Fixed

  • Fix CMS section config becoming stale after page save (MEIS-34).

Compatibility

  • Verified against Shopware 6.7.11.1. Storefront/admin builds, theme compile and guppy:theme:sync-check all pass. No breaking changes: the 6.7.11.0 storefront additions (component system, Vite dev-server, theme config as native CSS custom properties, single-file theme.json references, global JS event system, PluginManager.callPluginMethod) are additive and opt-in.

Fixed

  • Add $table-color: $sw-text-color to abstract/variables/bootstrap.scss (section 15. TABLES) to track the new upstream Skin variable introduced in Shopware 6.7.11. No visual change — value matches the existing Guppy text colour; restores sync-check parity.

Fixed

  • Resolve icon theme lookup via request attributes (theme-name / theme-base-name) instead of the shopware.theme Twig global. The global no longer exposes theme.name / theme.parentTheme in Shopware 6.7, which silently broke theme and parent-theme icon resolution in utilities/icon.html.twig.

Fixed

  • Render the Shopware 6.7.10 "Vertrag widerrufen" (revocation request) button in the guppy-default footer variant. The variant fully overrides layout_footer_navigation_hotline_content, which dropped the new core layout_footer_navigation_revocation_button block. The block is now re-exposed via parent() and the cmsPath it depends on is restored in scope.
  • Scope the broad .footer-main-guppy-default link styling to a:not(.btn) so button-anchors (e.g. the revocation button) keep their native .btn padding and colour instead of being styled as text links.

Fixed

  • Add hyphens: auto to the product name in product boxes (GE-73).

Fixed

  • Fix right-click on trackpad opening the context menu and navigating on product cards (GUPPY-291).
  • Restore the d-grid wrapper and remove an invalid parent() call in the buy button label block.

Breaking

  • Removed checkout customization layer: deleted views/storefront/page/checkout/** overrides, all scss/page/checkout/* partials and js/custom-checkout.plugin.js. Storefront now falls back to upstream @Storefront checkout. Sites relying on the guppy-checkout (default / compact) theme variant must restore the templates from 2.6.x or adopt the upstream layout.
  • Removed guppy-checkout field from theme.json.
  • Removed login / register customization: views/storefront/component/account/{login,register}.html.twig, views/storefront/page/account/register/index.html.twig, scss/components/login.scss, scss/page/account/register.scss.
  • SCSS directory renamed scss/components/scss/component/ (Bootstrap singular convention). Update any project that imports Guppy partials directly.
  • SCSS partial renamed scss/component/forms.scssscss/component/form.scss.
  • Flattened scss/skin/shopware/** tree into the regular scss/{base,component,layout,page}/** folders. The app/storefront/src/scss/skin/shopware/base.scss entry was removed from theme.json#style.
  • Removed Dmf\GuppyTheme\Command\GuppyUpgradeScanCommand and its service definition config/services/commands.xml.

Added

  • New CMS section sizing mode extra_wide_width with configurable guppy-container-width-extra-wide (default 2200px).
  • New CMS section custom fields rendered on cms-section-default and cms-section-sidebar: - sectionAnchorId → emits id="…" for anchor links. - sectionCustomMaxWidth → inline max-width override.
  • Admin: sw-cms-section-config extended with anchor ID input, custom max-width input, and the extra_wide_width sizing option (de-DE / en-GB snippets updated).
  • New console command bin/console guppy:theme:sync-check (with --fix / --verbose-all) wired to src/Scripts/theme-sync-check.mjs — detects drift between Guppy SCSS / theme.json and the upstream Shopware Storefront skin.
  • Storefront plugin registration migrated to dynamic imports (() => import(...)) in main.js for code-splitting.
  • Default Phosphor icons added: paper-clip.svg, push-pin.svg (16×16 grid). Existing icon set extended and normalised.

Changed

  • scss/abstract/variables/bootstrap.scss and custom.scss restructured with documentation header, table of contents and !default flags. Default values previously living in skin/shopware/abstract/variables/* merged into the canonical files.
  • New helper SCSS files: component/cms-block.scss, component/cms-element.scss, component/base-slider.scss, page/account/{address,profile}.scss, page/contact/contact.scss, page/newsletter/newsletter.scss.

Removed

  • @phosphor-icons/web runtime dependency (replaced by bundled SVGs).
  • Legacy skin/shopware SCSS layer (see Breaking changes).

Fixed

  • views/storefront/utilities/icon.html.twig now resolves the active theme through shopware.theme.name and shopware.theme.parentTheme instead of the hard-coded DmfGuppyTheme namespace — multi-theme installs no longer mis-route icon lookups.
  • views/storefront/component/product/card/action.html.twig: block renamed page_product_detail_product_buy_buttoncomponent_product_box_action_buy (correct Storefront block context).
  • views/storefront/page/account/order-history/order-item.html.twig: switched extend namespace from deprecated @Shopware to @Storefront.
  • box-standard.html.twig: added brand, price, headlineLevel, headlineClasses, searchTerm, childCount, routeArguments variables consumed by Storefront 6.7 child blocks (MEIS-34).
  • composer.json plugin description bumped from “Shopware 6.5” to “Shopware 6.7”.
Migration guide (child themes / projects importing Guppy SCSS directly)
Replace any `@import` paths that point at the legacy Guppy SCSS layout. Search the codebase for the patterns on the left and rewrite them to the value on the right:

| Old import path | New import path |
|-----------------|-----------------|
| `~DmfGuppyTheme/.../scss/components/<file>` | `~DmfGuppyTheme/.../scss/component/<file>` |
| `~DmfGuppyTheme/.../scss/components/forms` | `~DmfGuppyTheme/.../scss/component/form` |
| `~DmfGuppyTheme/.../scss/skin/shopware/base` | (remove — content merged into `scss/base/*`) |
| `~DmfGuppyTheme/.../scss/skin/shopware/component/<file>` | `~DmfGuppyTheme/.../scss/component/<file>` |
| `~DmfGuppyTheme/.../scss/skin/shopware/layout/<file>` | `~DmfGuppyTheme/.../scss/layout/<file>` |
| `~DmfGuppyTheme/.../scss/skin/shopware/page/<file>` | `~DmfGuppyTheme/.../scss/page/<file>` |
| `~DmfGuppyTheme/.../scss/skin/shopware/abstract/variables/<file>` | `~DmfGuppyTheme/.../scss/abstract/variables/<file>` |

Templates removed by this release (delete or replace with your own `sw_extends`):

| Removed twig | Storefront fallback |
|--------------|---------------------|
| `views/storefront/page/checkout/**` | `@Storefront/storefront/page/checkout/**` |
| `views/storefront/component/account/{login,register}.html.twig` | `@Storefront/storefront/component/account/*` |
| `views/storefront/page/account/register/index.html.twig` | `@Storefront/storefront/page/account/register/index.html.twig` |

Theme config (`theme.json`):
- Remove any custom snippets / templates that reference `theme_config('guppy-checkout')` — the key no longer exists.
- The new key `guppy-container-width-extra-wide` (default `2200px`) can be set if you want to use the new `extra_wide_width` section sizing mode.

Removed console command:
- `bin/console guppy:upgrade:scan` no longer exists. Use `bin/console guppy:theme:sync-check` for the new (different-purpose) drift detector.