Skip to content

Bundles

The bundle widget never shows anything, on any product

Section titled “The bundle widget never shows anything, on any product”

Work down this list - the widget hides itself ([ss-empty]) in every “nothing to show” case, so they all look identical:

  1. No namespace configured. The widget needs the Storesynk app’s concrete metafield namespace (app--<numeric-app-id>) - Storefront queries can’t use the $app: shorthand. Set app-namespace="app--…" on <storesynk-store> or namespace on the widget; a page with neither warns SSK-211 and the widget stays ss-empty with no bundle network request at all (that absence is the diagnostic).
  2. Not inside the page’s <storesynk-product>. The widget consumes productContext for the product id (SSK-102); outside a product it renders nothing, silently.
  3. No template. The widget’s first element child must be (or contain) a <bundle-offer> (SSK-107); the member list’s first child must be (or contain) a <storesynk-product> member card (SSK-107).
  4. No live bundle - by design. A bundle renders only while its date window is open and every member product resolves; a deleted/unpublished member drops the whole bundle (never a partial offer). If the app says a bundle exists but the widget is empty, check the window dates and that all member products are published to the headless channel.

Bundle displayers / the add button render nothing

Section titled “Bundle displayers / the add button render nothing”

show-bundle-* and <add-bundle-to-cart> consume the bundle context that only <bundle-offer> provides - outside it they’re blank (SSK-105). Same for show-member-quantity / show-member-subtotal, which read the per-clone member context that exists only inside <bundle-member-list>’s member card (SSK-105). A <bundle-offer> outside <storesynk-bundle> is itself never fed (SSK-106).

The add-bundle button is greyed out / clicks do nothing

Section titled “The add-bundle button is greyed out / clicks do nothing”

Two engine states, styled on the wrapper, aria-disabled on the button (VariantButton conventions): [ss-unavailable] = some member’s option selection resolved to no variant (the shopper picked an impossible combo); [ss-out-of-stock] = every member has a variant but at least one is unpurchasable. The bundle stays visible either way - that’s intended (pair it with the sold-out styling on the member card). If the button does nothing with neither state set, the standard actions aren’t installed - the page is missing its <storesynk-store> boot (SSK-101/206) or the elements script (SSK-401).

“×N” / the member subtotal never appear

Section titled ““×N” / the member subtotal never appear”

show-member-quantity hides itself (native hidden + [ss-empty]) at quantity 1 - a single unit needs no multiplier - and show-member-subtotal hides when no subtotal is computable. Seeing them only on multi-quantity members is correct behavior, not a bug. (The build-patterns §2.10 CSS also hides the subtotal at ×1 on purpose - the line adds no information then.)

Three possibilities, in likelihood order: the member is single-variant (the selector renders nothing to choose - correct); the member has more variants than the query cap (100) - the card degrades to default-variant mode and gets [ss-variants-truncated], so style a “choose options on the product page” product-link off that attribute (§2.10); or the change-options were authored with name= instead of the positional group="1"/"2"/"3" idiom - members are arbitrary products, so a hardcoded name self-hides on products without that option (the same trap as SSK-208).

Added a bundle but the cart shows separate lines / no discount

Section titled “Added a bundle but the cart shows separate lines / no discount”

The widget’s job ends at sending one multi-line add (it did - check the network tab for the cart mutation). Merging those lines into a single discounted bundle line is the Storesynk app’s Cart Transform Function, server-side. Separate undiscounted lines mean the Function isn’t active for that shop/product - that’s an app-side (merchant install) issue, not a storefront markup issue.


Imported from the Storesynk skill v0.1.0 (references/known-issues.md). To change this page, change it there.