Skip to content

Configuration reference

Every setting Listing Interrupter exposes, in the order the admin shows it. Field descriptions are the help texts shipped in the admin — the plugin is the source of truth for them.

Plugin settings

The plugin has no shop-wide settings. Its page under Settings → Extensions → Listing Interrupter & Banner Studio contains no configurable values; everything is configured per tile, in Marketing → Listing Interrupter.

Tile — Content tab

General card

FieldTypeDefaultDescription
NameText, requiredInternal name shown in the list — shoppers never see it.
ActiveSwitchOnShown whenever the availability rule matches

Content card

Every field in this card is translatable: switch the shop language in the top bar to author another language. On tablet and mobile each field can also carry a per-device override — see Per-device overrides.

FieldTypeDefaultDescription
Background imageMediaThe tile's background image, picked from the Media library.
Badge line (optional)Text, translatableSmall label above the headline, e.g. SALE or NEW.
HeadlineText, translatableThe main line shoppers read on the tile.
Subline (optional)Text, translatableOptional supporting line under the headline.
CTA labelText, translatableButton label, e.g. Shop now.
Link opensSame tab / New tabSame tabOpen the link in the same tab or a new one.
Link typeURL / Category / ProductChoose whether the tile links to a URL, category, or product.
Target URLURLFull destination URL the tile opens. (Link type: URL)
CategoryCategory selectCategory the tile links to. (Link type: Category)
ProductProduct selectProduct the tile links to. (Link type: Product)

Appearance card

FieldTypeDefaultDescription
Text colorColour picker (hex)#ffffffColour of the tile text and button label.
Background colourColour picker (hex)Solid colour shown when no background image is set.
OverlayNone / Dark gradient · 40% / Solid darkNoneDarkens the background image so text stays readable.
Content alignmentLeft / Center / RightLeftHorizontal alignment of the tile's text block.
Vertical alignmentTop / Middle / BottomMiddleVertical alignment of the tile's text block.
CornersSwitch (Rounded corners)OnRound the tile corners to match your theme.

Live preview

Read-only. Renders the tile with your storefront font and its configured width, and redraws on every keystroke. It follows the device switcher, so it shows the resolved tile for the device you are editing. The exact grid context lives on the Placement tab.

Tile — Placement tab

Where it appears card

FieldTypeDefaultDescription
CategoriesCategory tree, multi-selectCategory listings where the tile can appear. A tile with no category is never shown.
Sales channelsMulti-selectA tile with no sales channel is never shown.
Availability rules (optional)Rule multi-selectRules cover audience and timing — customer groups, cart value, or a date range via the native date condition. The tile shows only when every selected rule matches (add more to narrow further). Leave empty to always show the tile to everyone.

Placement per device card

FieldTypeDefaultDescription
DeviceDesktop / Tablet / MobileDesktopWhich viewport you are editing. Not stored — it selects which values the card edits.
Visible onSwitchOnTurn the tile off on this device without deleting it.
PositionSet by dragging the tile on the canvas1The grid slot the tile occupies, counted from 1.
Width (span)Set by dragging the tile's right edge1 cellHow many product cells the tile occupies, or a full row.
Show on pagesText1Exact (2), range (1-5), open (3- or -2). Empty = all pages; new tiles start on page 1. Applies to every device.

The canvas's Preview selectors (sales channel, category, preview page) are editing aids only. They are never saved to the tile.

Page range syntax

ValuePages the tile appears on
(empty)All pages
2Page 2 only
1-5Pages 1 through 5
3-Page 3 and all following
-2Pages 1 and 2

Anything else is rejected on save with Not a valid page range. Use a number (2), a range (1-5), or an open range (3- or -2).

Span values

Stored valueMeaningProduct cells displaced
"1""N"That many product cells wide, capped at the viewport's column countSame number
"row"Full row — the tile gets a row of its ownNone

An unrecognised value falls back to one cell.

Per-device overrides

Tablet and mobile inherit from desktop until a field is unlocked with the chain-link icon.

FieldOverridable per deviceTranslated
Background imageYesNo
Badge lineYesYes
HeadlineYesYes
SublineYesYes
CTA labelYesYes
Text colorYesNo
Background colourYesNo
OverlayYesNo
PositionYesNo
Width (span)Yes (desktop + tablet; mobile is single-column)No
Visible on deviceYesNo
Link, alignment, cornersNo — shared across devicesNo
Show on pagesNo — applies to every deviceNo

Only the desktop width counts towards how many products a tile displaces. See Concepts.

Permissions

Registered under Settings → Users & permissions, category Content, key ssd_listing_interrupter.

RoleGrantsIncludes
ViewerRead tiles and their assignments; read categories, rules, sales channels, products and media
EditorUpdate tiles, translations and all assignmentsViewer
CreatorCreate tiles (used by Create interrupter and Duplicate)Viewer, Editor
DeleterDelete tilesViewer

Admin module routes

RoutePathRequired role
List#/ssd/listing/interrupter/listViewer
Detail#/ssd/listing/interrupter/detail/:idViewer
Create#/ssd/listing/interrupter/createCreator

Navigation entry: Marketing → Listing Interrupter.

Entity reference

Entity ssd_listing_interrupter, available over the Admin API at /api/ssd-listing-interrupter.

FieldTypeNotes
idUUIDPrimary key
namestringRequired; searchable
typestringRequired; banner
activebool
priorityintOrder when tiles share a slot; higher first. Set to 1 on create and not editable in the admin — change it over the Admin API
positionintRequired; 1-based grid slot
spanstringRequired; "1""N" or "row"
pageRangestring, nullablePage-range expression; null = all pages
visibilityjson{mobile, tablet, desktop} booleans
viewportOverridesjson, nullable{tablet?, mobile?}{mediaId?, span?, position?, styles?}; language-independent
linkjson, nullable{type: url|category|product, value, newTab}
stylesjson{textColor, bgColor, overlayColor, alignment, verticalAlignment, rounded}
mediaIdUUID, nullableBackground image
headlinestring, translated
sublinestring, translated
ctaTextstring, translated
badgeTextstring, translated
viewportContentOverridesjson, translated, nullable{tablet?, mobile?}{headline?, subline?, ctaText?, badgeText?}
createdAt / updatedAtdatetime

Associations

AssociationTargetMapping table
categoriescategoryssd_listing_interrupter_category
salesChannelssales_channelssd_listing_interrupter_sales_channel
rulesrulessd_listing_interrupter_rule
mediamedia— (media_id foreign key)
translationsssd_listing_interrupter_translation

Deleting a tile cascades to its category, sales channel and rule assignments.

Theme integration

The storefront tile reads one SCSS variable, overridable from your theme:

VariableDefaultEffect
$ssd-listing-interrupter-border-radius8pxCorner radius applied when Rounded corners is on

The plugin does not use Bootstrap's .rounded utility, because the Shopware storefront theme ships $enable-rounded: false, which would make the option do nothing.

Storefront scope

Tiles render inside the Product Listing CMS element — that is, on category listing pages. Search-result and manufacturer pages are not covered.

Compatibility

Shopware~6.7.0 (core + storefront)
Plugin version2.0.0

Your Vision. Signed, Sealed, Delivered.