- Feature: New option "Stay in offcanvas cart after selecting a premium" (Basic Configuration, off by default). When premium articles are shown in the offcanvas cart, selecting a premium (including variant selection) adds it via AJAX and refreshes the offcanvas cart instead of redirecting to the cart page, so customers can keep shopping. Notices such as "threshold not reached" are shown in the offcanvas cart. The cart and confirm pages are unchanged, and without JavaScript the previous redirect still applies. Requires the Shopware setting "Open offcanvas cart after adding a product" to be enabled (default) (ticket #335405).
- Fix: Premium-item buttons now inherit the storefront theme colors by default instead of forcing white text. Optional background and text color settings can override the theme per sales channel. The existing free-label background and text color settings are now applied correctly. Premium links now also use valid, non-nested button markup.
- Feature: Separate info texts per area below the "Choose premium" headline. The snippet bartc-premiumarticle.cart.chooseInfo is now used on the cart page only; the offcanvas cart uses bartc-premiumarticle.cart.chooseInfoOffcanvas and the checkout confirm page uses bartc-premiumarticle.cart.chooseInfoConfirm. Each snippet is independent (no fallback), so the popup can carry a shorter text or none at all. Note: after the update the offcanvas cart and the confirm page show no text until their own snippet is filled in.
- Feature: New snippet bartc-premiumarticle.cart.chooseInfo for an optional info text below the "Choose premium" headline in the cart, offcanvas cart and checkout confirm page. Maintain it per language under Settings > Snippets; HTML is allowed and rendered as-is (the text is authored by the shop owner). Empty by default, so nothing changes for existing shops. The headline now lives in its own Twig block bartc_premium_article_premiums_headline for easier theme overrides.
- Store review: the premium lookups now use the request context instead of a freshly created default context (Shopware PHPStan rule shopware.disallow.default.context.creation).
- Fix: Storefront templates aligned with Shopware 6.7.14. The line-item image and quantity overrides no longer copy core blocks (video/spatial covers, lazy loading, accessibility attributes and the digital-product quantity lock are now inherited from core). Removed obsolete overrides of templates that no longer exist in Shopware 6.7 (page/product-detail/buy-widget-form.html.twig, page/checkout/checkout-item.html.twig).
- Store review: development files (ecs.php, rector.php, phpstan/phpunit config, tests, bin) are no longer packed into the release zip, which previously aborted the Shopware Store PHPStan review with an internal error. Removed the obsolete SnippetFile_de_DE / SnippetFile_en_GB classes (dead code since Shopware 6.4, SnippetFileInterface no longer exists) and tidied the sales-channel-id lookups flagged by the Shopware PHPStan rules.
- Performance: The cart processor no longer loads premium products with all their variants; the ids of unsellable premium products are now fetched without associations and cached per request, and the query is skipped entirely for carts without product line items (ticket #333915).
- Fix: EasyCoupon voucher redemptions no longer reduce premium thresholds when the voucher product is assigned to the configured voucher category. The voucher category exclusion now only applies to real cart goods, not to non-product discount/payment line items (ticket #332529).
- Fix: Make the premium article product reference compatible with MySQL 8.4 by storing product_version_id and using a composite foreign key to product(id, version_id). Existing installations are migrated to the live product version while fresh installs now create the correct schema from the start (ticket #332449).
- Fix: A premium product with a minimum order quantity (e.g. set by a B2B plugin) higher than the quantity covered by the cart value no longer blocks the checkout. Previously the plugin capped the free quantity below the product's minimum order quantity, Shopware raised it right back ("The quantity has automatically been increased") and the resulting tug-of-war disabled the order button (ticket #331919).
- New config option "Raise the free premium quantity to the product's minimum order quantity" (Advanced Configuration, off by default): when enabled, the free quantity is raised to the product's minimum order quantity even if the cart value covers less. When disabled, premium articles whose minimum order quantity cannot be covered by the cart value are hidden until the cart value is high enough.
- Fix: Prevent duplicate premium products after guest/customer cart merge on Shopware 6.7. Premium items restored from the persisted cart are now detected by payload and cleaned up during merge/recalculation when multiple premium additions are disabled (ticket #331548).
- Fix: Premium item quantity is now capped at floor(cartNonPremiumValue / minOrderValue) per line item, preventing customers from adding more premium copies than the cart value allows. Previously the minimum-order-value check was only binary (threshold reached yes/no), so with multiaddMax=0 or a high static cap customers could stack unlimited premium copies, leading to negative-margin orders (ticket #329242).
- Fix: Custom bartc-sw-switch-field-* and bartc-sw-number-field admin components now extend the *-deprecated variants. Prevents a latent Vue compiler-30 error if these legacy components are rendered on Shopware versions where sw-switch-field / sw-text-field act as wrappers around / with an orphaned v-else in the deprecated block.
- Fix: Resolve CHECKOUT__CART_LOCKED error during checkout when premium articles are in cart. Cart processors now modify the cart object directly instead of going through CartService, which avoids lock conflicts in Shopware 6.7+ (ticket #327929)
- Fix: "ignoreStoreCount" config option now correctly skips the stock filter, allowing premium products with zero or negative stock to be displayed
- Fix: Use locale-aware currency formatting for premium article prices
- Fix: Prevent removal of variant premium products - only remove premium items if neither the product nor its parent product exists
- Fix: Adjust configuration for Shopware 6.7 compatibility
- Improve: Correct German translations in configuration labels for better UX
- Fix: Pass sales channel ID when reading plugin configuration.
- Improve: Use LineItemFactoryInterface instead of ProductLineItemFactory for better flexibility.
- Fixing the alt tag for premium product images
# 4.1.3
- Fix product variants selection in carousel view - add dropdown menu for variant products
# 4.1.2
- Add route validation in ShowCanvasButton subscriber to ensure it only triggers for offcanvas cart page
# 4.1.1.
- Fix variants handling
- Added an option to show premium items in the OffCanvas shopping cart.
Add cart-time validation: remove free premium items from the cart when their associated premium campaign was deleted or deactivated.
- Add configuration option to require a category for premium item visibility.
- Change rule: premium items are shown/kept only if all non-premium cart products belong to the configured category.
# 4.0.4
- Fix bug with product cover image in premium box
- Fix the button when a premium product is not available for sale.
Adjust properties criteria to fix plugin dvsn-product plugin
Adjust properties criteria
Fix searching and suggestion
- Feature: Separate info texts per area below the "Choose premium" headline. The snippet bartc-premiumarticle.cart.chooseInfo is now used on the cart page only; the offcanvas cart uses bartc-premiumarticle.cart.chooseInfoOffcanvas and the checkout confirm page uses bartc-premiumarticle.cart.chooseInfoConfirm. Each snippet is independent (no fallback), so the popup can carry a shorter text or none at all. Note: after the update the offcanvas cart and the confirm page show no text until their own snippet is filled in.
- Feature: New snippet bartc-premiumarticle.cart.chooseInfo for an optional info text below the "Choose premium" headline in the cart, offcanvas cart and checkout confirm page. Maintain it per language under Settings > Snippets; HTML is allowed and rendered as-is (the text is authored by the shop owner). Empty by default, so nothing changes for existing shops. The headline now lives in its own Twig block bartc_premium_article_premiums_headline for easier theme overrides.
- Performance: The cart processor no longer loads premium products with all their variants; the ids of unsellable premium products are now fetched without associations and cached per request, and the query is skipped entirely for carts without product line items (ticket #333915).
- New (Pro, In-App Purchase "Advanced Rules"): optional availability rule (Rule Builder) per premium article - the gift is only offered while the selected rule matches.
- New (Pro): optional maximum cart value per premium article - above it the gift is unavailable; configurable behaviour (remove the gift or automatically replace it with the highest reachable one).
- New (Pro): config toggle "Show only the nearest reachable threshold" for the storefront gift listing.
- Without the active in-app purchase the plugin behaves exactly like the free version: saved Pro fields are ignored, admin fields are locked with an unlock button.
- Requires Shopware >= 6.6.9.0 for the in-app purchase mechanism; on older 6.6.x the Pro section stays hidden and inactive.
- Performance: The cart processor no longer loads premium products with all their variants; the ids of unsellable premium products are now fetched without associations and cached per request, and the query is skipped entirely for carts without product line items (ticket #333915).
- Fix: EasyCoupon voucher redemptions no longer reduce premium thresholds when the voucher product is assigned to the configured voucher category. The voucher category exclusion now only applies to real cart goods, not to non-product discount/payment line items (ticket #332529).
- Fix: A premium product with a minimum order quantity (e.g. set by a B2B plugin) higher than the quantity covered by the cart value no longer blocks the checkout. Previously the plugin capped the free quantity below the product's minimum order quantity, Shopware raised it right back ("The quantity has automatically been increased") and the resulting tug-of-war disabled the order button (ticket #331919).
- New config option "Raise the free premium quantity to the product's minimum order quantity" (Advanced Configuration, off by default): when enabled, the free quantity is raised to the product's minimum order quantity even if the cart value covers less. When disabled, premium articles whose minimum order quantity cannot be covered by the cart value are hidden until the cart value is high enough.
- Fix: Premium item quantity is now capped at floor(cartNonPremiumValue / minOrderValue) per line item, preventing customers from adding more premium copies than the cart value allows. Previously the minimum-order-value check was only binary (threshold reached yes/no), so with multiaddMax=0 or a high static cap customers could stack unlimited premium copies, leading to negative-margin orders (ticket #329242).
- Fix: Admin hangs after saving plugin settings on Shopware 6.6.10+ (Vue compiler-30 and missing inheritanceAttrs errors). Custom switch/number field components now extend sw-switch-field-deprecated / sw-text-field-deprecated instead of the new wrapper components, which restores the expected computed properties and eliminates the orphaned v-else in rendered templates.
- New config option "Calculate premium threshold as gross for tax-free customers": when enabled, the cart value of tax-free customers (B2B with VAT-ID) is converted to gross equivalent before comparing with the premium threshold. This ensures B2B customers reach the same premium thresholds as B2C customers for the same products.
- Fix: "ignoreStoreCount" config option now correctly skips the stock filter, allowing premium products with zero or negative stock to be displayed
- Fix: Use locale-aware currency formatting for premium article prices
Moved "auto add premium product to cart" logic from event subscriber to cart collector (PremiumProductProcessor)
# 3.4.3
- Fixing configuration for different sales channels
# 3.4.2
- Optimize cart processing performance
Fixing the alt tag for premium product images
- Added an option to show premium items in the OffCanvas shopping cart.
# 3.3.6
- Fix product variants selection in carousel view - add dropdown menu for variant products
# 3.3.5
- Add route validation in ShowCanvasButton subscriber to ensure it only triggers for offcanvas cart page
Adjust properties criteria to fix plugin dvsn-product plugin
Adjust properties criteria
Fix searching and suggestion
- Enhance system performance
- Adding a custom field isPremiumProduct to the order_line_item table
- Fix a bug with availability product
- Add option to show premium article after shopping cart
- Fix bug with "isCloseout"
- Show premium article if "Clearance sale" is active
- Add option to show button in canvas shopping cart only if the cart value allows you to add at least one premium product
- Fixed bug with premium article as a normal product
- Fixed bug with "ignoreStoreCount"
- Fixed bug with premium article in cart
- Added auto add premium article to cart
- Fix price format
Fixed plugin zip with configuration
- Performance: The cart processor no longer loads premium products with all their variants; the ids of unsellable premium products are now fetched without associations and cached per request, and the query is skipped entirely for carts without product line items (ticket #333915).
- Fix: Premium item quantity is now capped at floor(cartNonPremiumValue / minOrderValue) per line item, preventing customers from adding more premium copies than the cart value allows. Previously the minimum-order-value check was only binary (threshold reached yes/no), so with multiaddMax=0 or a high static cap customers could stack unlimited premium copies, leading to negative-margin orders (ticket #329242).
- Fix: Use locale-aware currency formatting for premium article prices
Fix: Pass sales channel ID when reading plugin configuration.
- Add carousel option
- Added an option to show premium items in the OffCanvas shopping cart
# 2.1.5
- Add route validation in ShowCanvasButton subscriber to ensure it only triggers for offcanvas cart page
Fix searching and suggestion
- Adding a custom field isPremiumProduct to the order_line_item table
Adding an option to automatically add a premium product to the shopping cart
Adjust in multi premium article
Add options to change color background label and text
Fix bug with multi premium article
- Fix bug with stock. Changed to availableStock
Fix premium item as a normal product
- Fix: Premium item quantity is now capped at floor(cartNonPremiumValue / minOrderValue) per line item, preventing customers from adding more premium copies than the cart value allows. Previously the minimum-order-value check was only binary (threshold reached yes/no), so with multiaddMax=0 or a high static cap customers could stack unlimited premium copies, leading to negative-margin orders (ticket #329242).
Fehler mit Stock behoben. Geändert in availableStock
Hide button in offcanvas cart if cart is empty
Fix bug with max premium article if price is 0
- Can exclude more as one customer group
- Add option to exclude premium article from customer group
- Adjust block template
Adjust styles in products box
Fixed a bug with add a premium article to a cart during repeat order
Fix bug when promotion and premium item are alone in cart after removing regular item
- Fix acl for admin panel
- Adjust to shopware 6.4.10.1
- Fix Wishlist
- Add config option to set max premium article in the cart
- Add option to show premium article even if stock is 0
- Add select a category with products that should not be added to the total amount in the cart