Paypal Express Button anzeigen abhängig vom Produkt-Preis

Topic summary

Ein Shopify-Nutzer möchte den PayPal Express Button auf Produktseiten nur anzeigen, wenn der Produktpreis über 69 € liegt, um Probleme mit Versandkosten zu vermeiden.

Technisches Problem:

  • Der Versuch, Liquid-Logik direkt in die JSON-Struktur (show_smart_checkout) einzubinden, funktioniert nicht wie erwartet
  • Der Button wird weiterhin bei allen Produkten angezeigt, auch unter 69 €

Identifizierte Ursache:

  • Shopify interpretiert true/false aus Liquid-Code innerhalb von JSON als Strings, nicht als Boolean-Werte
  • Liquid-Code wird vor der JSON-Verarbeitung ausgeführt, was zu Kompatibilitätsproblemen führt
  • Preise in Liquid werden in Cent angegeben (6900 statt 69.00)

Vorgeschlagene Lösungsansätze:

  • Implementierung der Logik in Liquid-Files statt direkt in JSON-Strukturen
  • Verwendung von assign-Variablen außerhalb der JSON-Datei
  • Alternative: JavaScript für dynamisches Verhalten oder direkte PayPal-API-Integration

Wichtige Hinweise:

  • Änderungen sollten in einer Themekopie/Testumgebung getestet werden
  • Theme-Backup vor Bearbeitung erstellen
  • Mögliche negative Auswirkungen auf Page Speed beachten

Die Diskussion bleibt offen, da eine funktionierende Lösung noch nicht vollständig implementiert wurde.

Summarized with AI on November 11. AI used: claude-sonnet-4-5-20250929.

Hey @Level2-Digital

Danke für den Code und was genau meinst du mit “Leider funktioniert dieser nicht wie erwartet”?

Du möchtest also den PayPal Express Button abhängig vom Produkt-Preis mit einer Liquid Logik anzeigen, indem du eine Bedingung in den “show_smart_checkout”-Wert integrierst. Allerdings gibt es einen wichtigen Punkt zu beachten: die Preise in Liquid werden in Cent (oder der kleinsten Währungseinheit) angegeben, daher wird der Vergleichswert auf 6900 gesetzt (entspricht 69 Euro):

{
  "buy_buttons": {
    "type": "buy_buttons",
    "settings": {
      "show_smart_checkout": "{% if product.price > 6900 %}true{% else %}false{% endif %}"
    }
  }
}

Beachte, dass product.price in Cent ausgedrückt sein sollte. Sollte product.price bereits in Euro ausgedrückt sein, wäre dein ursprünglicher Wert von 69.00 korrekt.

Zum Thema Page Performance, es ist korrekt, dass zusätzliche Logik im Liquid, insbesondere wenn sie bedingte Anweisungen umfasst, die Ladezeit negativ beeinflussen kann, es sollte allerdings relativ gering ausfallen, vor allem wenn es sich nur um eine einzige bedingte Instruction handelt. Das kannst du danach immer in der Dev Console analysieren, um zu schauen, ob es zu Verzögerungen kommt mit dem Code.

Wenn du es selber programmieren möchtest dann immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer. Du kannst ein Backup deines Themes erstellen, bevor man den Code bearbeitet, oder den Code wiederherstellen, falls dies nötig sein sollte. Du könntest auch einen unserer Experten engagieren indem du denen eine E-Mail rüberschießt. Unsere Experten antworten meist sehr schnell.

Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negativ beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das obige ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

Hoffe das hilft dir weiter - lass wissen falls nicht! :wink:


Habt ihr auch den Shop auf Ostern eingestellt das jetzt um die Ecke liegt? Warum nicht eine Ostereierjagd :hatching_chick: in das Shop einbauen, um deinen Kunden etwas Gamification und Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.