Variants not always selected correctly

Topic summary

Problem: Variantenwahl auf der Produktseite greift sporadisch nicht. URL-Parameter ?variant=… fehlt und die Shopify-Variante wird nicht gesetzt. In der Konsole erscheint: “productForm.handleErrorMessage is not a function” (global.js / swatch.js, Sync mit Original-Picker).

Beobachtungen:

  • Tritt bei Theme „Exceedios“ (wohl ein umbenanntes, angepasstes Dawn) + Rubik Variant Images + Ka‑ching Bundles auf.
  • Deaktiviert man Ka‑ching Bundles, kommt der Fehler deutlich seltener → Hinweis auf App‑/Formular‑Konflikt.
  • Im unveränderten Dawn funktioniert die Variantenwahl einwandfrei → Theme/Custom-Code als Hauptverdacht.

Empfehlungen/Ansätze:

  • Statt Rubik die nativen Shopify-Farb-/Bild-Swatches von OS 2.0 nutzen; Styling per CSS. Verweis auf Shopify-Doku (Metafields/Kategorieschemata) wurde geteilt.
  • Apps reduzieren, vor allem solche, die in den Kaufprozess/Produkt-Formular eingreifen. Prüfen, ob mehrere /cart/add-Formulare (Bundle, Sticky ATC) Konflikte erzeugen.
  • Theme auf aktuelles Dawn updaten bzw. zu einem vertrauenswürdigen, offiziellen Theme wechseln. Vorsicht bei extern geteilten/umbenannten Themes wegen Lizenz- und Sicherheitsrisiken.

Status: Keine finale Lösung. Nächste Schritte: native Swatches implementieren, Rubik entfernen, Bundles prüfen/temporär deaktivieren, Theme aktualisieren oder zu offiziellem Dawn zurückwechseln. Diskussion offen.

Summarized with AI on December 11. AI used: gpt-5.

Hi everyone,

I’m having an issue with variant selection on my product page and I’m hoping someone has seen this before or has an idea what might be causing it.

Setup:

  • Theme: Exceedios (pure-verde.de)

  • Apps: Rubik Variant Images (for image swatches) + Ka-ching Bundles

  • Storefront language: German

  • Cart: Cart drawer (custom drawer cart from the theme), the default Shopify /cart page still exists in the background

Issue:

When I select a variant using the image swatches from Rubik on the product page, the following happens:

  • The swatch option is visually selected correctly.

  • Sometimes, however, no variant is selected in the background:

    • The URL does not update with ?variant=...

    • The actual Shopify variant does not seem to be set.

  • In exactly these cases, I see this error in the console:

Uncaught TypeError: productForm.handleErrorMessage is not a function
    at HTMLElement.removeErrorMessage (global.js:1075:34)
    at HTMLElement.onVariantChange (global.js:966:10)
    at syncWithOriginalPicker (swatch.js:1164:35)
    at HTMLInputElement.handleVariantChange (swatch.js:1409:9)

When the variant selection does work:

  • ?variant=... is correctly added to the URL

  • and there is no error in the console.

If I disable Ka-ching Bundles for this product, the issue happens much less frequently or not at all, which makes me think there is a conflict between:

  • The Exceedios theme (product form / product-form element)

  • Rubik Variant Images (swatch logic)

  • Ka-ching Bundles (bundle / custom form / variant logic)

Questions for the community:

  • Has anyone experienced similar issues with the combination Exceedios + Rubik Variant Images + Ka-ching Bundles?

  • Could this be related to multiple form action="/cart/add" forms on the same page (e.g. an additional bundle form or sticky add-to-cart)?

  • Is there a recommended way to make bundle apps work cleanly with custom swatches (Rubik) and the standard Shopify product-form logic in Online Store 2.0 themes?

I’d really appreciate any hints or experiences, especially from anyone using the Exceedios theme together with Rubik and/or Kaching in a stable setup.

Thanks a lot!
Robert

Hallo Robert,

da du aus DE bist, antworte ich dir auf deutsch. :wink:

Ein Theme namens Exceedios gibt es per se nicht. Da hat eine Agentur/ein Entwickler das Theme umbenannt. Das ist ein einfaches Dawn mit kleineren Anpassungen.

Dein Swatch ist eine App. Weshalb nutzt du nicht das nativ integrierte, was Shopify bietet? Das geht seit >1 Jahr. Du musst bissle mit CSS dies anpassen, doch da wird der Fehler liegen. Solche Variantenapps sind häufig ein Fehler.

Allgemein sehe ich hier und da Apps, die gar nicht benötigt werden. Für die Paymenticons gibt es den Code gratis im Netz, die BUlletpoints und die Subheadline sind ebenfalls schnell umgesetzt.

Je mehr Apps auf der Produktseite einherspielen, umso schneller sind Fehler drin.

Auf deine Fehlermeldung nochmal einzugehen:
Das besagt nur, dass er einen Fehler hat, den originalpicker zu ersetzen. Es funktioniert, jedoch mehr schlecht als recht.

1 Like

Hey, danke dir für deine schnelle Antwort.

Gibt es einen Beitrag, wie ich ohne App die Image Swatches einrichte?

Das bedeutet ohne die App “Rubik” würde alles sauber laufen?

Ich bin dir auf jeden Fall dankbar. Ich glaube ich muss auf ein anderes Theme wechseln

LG

Dazu gibt es sogar in der Wiki einen EIntrag: https://help.shopify.com/en/manual/custom-data/metafields/category-metafields/using-category-metafields

Ich bin ein Freund alles ohne Apps zu gestalten. Vor allem die, die in den Kaufprozess eingreifen, machen oft Fehler, die immer gepaart mit anderen Apps auftreten. Beobachte ich seit Jahren. Daher bin ich immer Contra Apps, auch für Displaysachen im Theme. Die Seite lädt schneller, läuft flüssiger. Zudem hast du dann viel mehr Möglichkeiten etwas anzupassen.

Ganz gleich auf welches Theme du wechselst: Bei dir wird die Version 2.0 ausgegeben. Wenn ich raten müsste, ist das noch Dawn 8.x. Ein altes Dawn, was ein Update verdient hat. Solange es läuft, musst du nicht wechseln. Erst, wenn du es für nötig erhältst oder Funktionen, wie der Color Swatch, noch nicht nativ im Theme sind. Da musste seitens Entwickler auch minimal etwas angepasst werden, damit dies ausgegeben werden kann.

Ich denke es liegt am Theme. Wenn ich das DAWN Theme öffne und die Varianten auswähle funktioniert alles einwandfrei. Das Exceedios Theme hat mir jemand auf Reddit geschickt :melting_face:

Bei sowas nie auf andere Vertrauen. Kontrolle ist immer besser. Denk immer dran, dass solche Menschen auch böse Absichten haben können. Es ist “nur” ein Theme, doch auch da gibt es viele Möglichkeiten deinen Shop zu schaden. Sei es via Takedown wegen irgendwelchen Lizenzen (weil du ein Premiumtheme nutzt und die es melden, da über JS ein Call auf deren Server mit der ShopURL gemacht werden kann) verstößt oder die einen kleinen Webhook einbauen, um deinen Shop 24/7 zu scrapen.

1 Like