FROM CACHE - de_header

Label Preisreduktion wird korrekt auf Produktseite aber nicht auf Kategorie angezeigt

Label Preisreduktion wird korrekt auf Produktseite aber nicht auf Kategorie angezeigt

occs
Neues Mitglied
6 0 0

Ich nutze das Dawn Theme 12.0. und möchte gerne eine Preisreduktion als Label darstellen.

Dafür habe ich Änderungen im Liquid-Code vorgenommen.

 

Das Ergebnis sieht richtig auf der Produktdetailseite aus, aber leider gibt es eine Fehlermeldung auf der Kategorieseite.

 

Kann mir hier jemand weiterhelfen, um den Fehler auf der Kategorieseite zu beheben?

 

Kategorieseite mit Fehler

occs_0-1700736669798.png

 

Produktseite korrekt

occs_1-1700736714841.png

 

 

Code: 

occs_2-1700736741585.png

 

1 ANTWORT 1

Gabe
Shopify Staff
18475 2895 4263

Hey @occs 

 

Danke für die Bilder und der Fehler "NaN" tritt typischerweise auf, wenn eine Berechnung durchgeführt wird, aber einer der Werte nicht in eine Zahl umgewandelt werden kann. Du versuchts wahrscheinlich, eine prozentuale Einsparung auf der Grundlage der ausgewählten Variante anzuzeigen, aber es kommt der Fehler "Liquid error (snippets/reload-savings line 2): Computation results in 'NaN' (Not a number) %". Es kann sein dass dies einen weiteren Schritt erfordern würde, um Änderungen in der Javascript-Datei vorzunehmen, wenn die neue Variante ausgewählt wird.

 

Versuchst du auf dem Produktbild einen Prozentsatz anzuzeigen, der auf der ausgewählten Variante basiert, aber in einigen Fällen wird er nicht korrekt angezeigt? Ist der Code, etwas wie:

 

{{ product.compare_at_price | minus: product.price | times: 100.0 | divided_by: product.compare_at_price | floor }}

 

Es kann sein, dass der aktuelle Liquidcode, den du da hast, beim ersten Laden der Seite ausgeführt wird. Das ist die Art und Weise, wie Liquid serverseitig gerendert wird, aber damit sich die Dinge sich ändern, wenn eine Variante auf der Seite selbst ausgewählt wird, musst du etwas Javascript verwenden, das das DOM manipuliert und die notwendige HTML mit den neuen Daten aktualisiert.

Dafür braucht man ein gutes Verständnis von Javascript. Es gibt einige Online-Ressourcen, die dir dabei helfen können, zum Beispiel auf Seiten wie hier - stackoverflow.

 

Debugging Schritte:

Schau dir vielleicht den spezifischen Liquid-Code an, der für die Berechnung der Preisreduktion verwendet wird. Der Fehler deutet darauf hin, dass irgendwo in der Berechnung ein Wert fehlt oder nicht korrekt interpretiert wird. Stelle sicher, dass alle Variablen, die in der Berechnung verwendet werden, auf der Kategorieseite verfügbar und korrekt definiert sind. Es ist möglich, dass eine Variable, die auf der Produktdetailseite verfügbar ist, auf der Kategorieseite nicht verfügbar ist.

 

Füge ggf. Bedingungen hinzu, um zu überprüfen, ob alle erforderlichen Werte vorhanden und gültig sind, bevor du die Berechnung durchführst. Zum Beispiel, prüfe, ob der Originalpreis und der Verkaufspreis vorhanden sind und ob sie gültige Zahlen sind. Lege auch Fallback-Werte fest, falls eine der benötigten Variablen nicht verfügbar ist. Dies verhindert, dass die Berechnung mit ungültigen Werten durchgeführt wird.

 

Weiteres Debugging - füge temporäre Ausgabeanweisungen in deinen Liquid-Code ein, um die Werte der Variablen auf der Kategorieseite anzuzeigen. Das hilft dir zu identifizieren, welche Variable das Problem verursacht. Es ist möglich, dass du den Code speziell für die Kategorieseite anpassen musst, um sicherzustellen, dass alle erforderlichen Daten korrekt verarbeitet werden.

 

Du kannst auch deinen ganzen Code in unser Experten Design Forum auf Englisch posten und es wird sich einer unserer Experten aus indien melden der dein Code etwas näher inspizieren kann.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog