Liquid, JavaScript, Themes
Hallo liebe Shopify-Experten,
ich verkaufe einen Artikel im 2er-Set, also zwei in einer Packung und würde gerne meinen Kunden die Einzelpreise anzeigen. Mein Produkt (2 Stück) kostet 7,95 € und ich möchte gerne 3,97 € (pro Einheit oder so ähnlich) angezeigt haben. Leider lässt sich das in den Shopify Produkteinstellungen nicht umsetzten. Es gibt zwar die Option: Grundpreis für diese Variante anzeigen, aber ich kann nur g, Kg, cm usw. einstellen. Aber keine Stückzahl. Wie könnte ich das trotzdem umsetzten? Gerade auf der Produktübersichtsseite, wo meine Produkte aufgelistet sind, wäre mir das sehr wichtig. Ich verwende das Theme: Sense 11.0.0. Liebe Grüße und vielen Dank im Voraus!
Gelöst! Zur Lösung
Erfolg.
@Jens-hess bei den Metafeldern kannst du als (Metafeld-)Typ "Integer" auswählen.
Da die Anzahl der Einheiten in der Regel eine ganze Zahl ist, sollte das reichen.
Der Wert ist nur eine Zahl, die in einer Formel verwendet wird.
Wenn du das Metafeld erstellst, kannst du dem ganzen ja einen Namen geben. In meinem ersten Beispiel bin ich davon ausgegangen, dass der Namespace und Key Wert "custom.units" ist. D. h. du kannst dir einen beliebigen Namen auswählen – musst es aber im Beispiel Code entsprechend anpassen.
Erfolg.
@Jens-hess das musst du in im Theme in der entsprechenden Datei einfügen, welche die Produktkarten (in der Kategorie-Ansicht) darstellt. Das Prinzip ist das gleiche, wobei man darauf achten muss, wie das "product"-objekt genannt wird. In manchen Themes heißt es "card_product" oder "item".
Das Metafeld und die Preisdaten müssen sehen dann so aus:
"item.metafields.custom.units" statt "product.metafields.cutom.units"
"item.price" statt "product.price"
@Jens-hess du könntest ein Metafeld anlegen und die Anzahl der Einheiten hinterlegen.
Dadruch kannst du eine Formel einsetzen (als Custom-Liquid Block), damit der Stückpreis dargestellt wird.
Die Formel inkl. Metafeld sollte dann folgendermaßen aussehen:
{% if product.metafields.custom.units != blank %}
{% assign units = product.metafields.custom.units %}
<span>{{ product.price | divided_by: units | money }}/ Einheit</span>
{% endif %}
Ich gehe in diesem Beispiel davon aus, dass das Produkt-Metafield "custom.unit" heißt. Das müsstest du ggf. beim Anlegen berücksichtigen. Zudem würden die Daten nur anzeigt werden, wenn auch ein Wert hinterlegt ist.
Danke für deine Rückmeldung! Ich habe mich jetzt mal in den Metafeldbereich eingelesen und verstehe auch den Ansatz. Das mit dem Custom-Liquid ist kein Problem, aber wie kann ich bei einem Metafeld die Anzahl der Einheiten hinterlegen? Es gibt da leider keinen Punkt mit "Units" oder so zur Auswahl.
Erfolg.
@Jens-hess bei den Metafeldern kannst du als (Metafeld-)Typ "Integer" auswählen.
Da die Anzahl der Einheiten in der Regel eine ganze Zahl ist, sollte das reichen.
Der Wert ist nur eine Zahl, die in einer Formel verwendet wird.
Wenn du das Metafeld erstellst, kannst du dem ganzen ja einen Namen geben. In meinem ersten Beispiel bin ich davon ausgegangen, dass der Namespace und Key Wert "custom.units" ist. D. h. du kannst dir einen beliebigen Namen auswählen – musst es aber im Beispiel Code entsprechend anpassen.
Hallo @Finer
danke für deine Hilfe! Es hat so weit geklappt. Ich habe den Code noch etwas an meine Bedürfnisse angepasst und er wird nun erfolgreich auf der Produktseite angezeigt.
{% if product.metafields.custom.units != blank %}
{% assign units = product.metafields.custom.units %}
<p style="margin-top: 5px; margin-bottom: 5px; font-weight: bold; line-height: 0;">Nur {{ product.price | divided_by: units | money }} pro Stück</p>
{% endif %}
Allerdings funktioniert er nicht auf der nicht auf der collection page, also der Kategorie-Seite. Gibt es eine Möglichkeit auch dort den Preis pro Stück anzuzeigen?
Erfolg.
@Jens-hess das musst du in im Theme in der entsprechenden Datei einfügen, welche die Produktkarten (in der Kategorie-Ansicht) darstellt. Das Prinzip ist das gleiche, wobei man darauf achten muss, wie das "product"-objekt genannt wird. In manchen Themes heißt es "card_product" oder "item".
Das Metafeld und die Preisdaten müssen sehen dann so aus:
"item.metafields.custom.units" statt "product.metafields.cutom.units"
"item.price" statt "product.price"
Hallo zusammen! Wir haben intensiv daran gearbeitet, dein Shopify-Erlebnis auf Deutsc...
By JasonH May 12, 2025Mit dem Lernpfad der Shopify Academy und dem Verified Skills-Badge Expanding Your Sho...
By Shopify Feb 7, 2025Den Verkauf im Großhandel steigern: In der Shopify Academy lernst du, wie das geht, zum...
By Shopify Feb 3, 2025