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 and no settings page — there is no Configure action for it under Extensions → My extensions. Everything is configured per tile, in Marketing → Listing Interrupter.

Tile — Content tab ​

General card ​

FieldTypeDefaultDescription
NameText, required—Internal 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 imageMedia—The tile's background image. Uploads land in the Listing Interrupter Media folder, which generates 400/800/1920 px versions so the storefront serves the right size per device.
Badge line (optional)Text, translatable—Small label above the headline, e.g. SALE or NEW.
HeadlineText, translatable—The main line shoppers read on the tile.
Subline (optional)Text, translatable—Optional supporting line under the headline.
CTA labelText, translatable—Button label, e.g. Shop now.
Link opensSame tab / New tabSame tabOpen the link in the same tab or a new one.
Link typeURL / Category / Product—Choose whether the tile links to a URL, category, or product.
Target URLURL—Full destination URL the tile opens. (Link type: URL)
CategoryCategory select—Category the tile links to. (Link type: Category)
ProductProduct select—Product 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-select—Category listings where the tile can appear. A tile with no category is never shown.
Sales channelsMulti-select—A tile with no sales channel is never shown.
Availability rules (optional)Rule multi-select—Rules 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.