Liquid, JavaScript, Themes
Hallo,
für eins unserer Produkte würden wir gerne Staffelpreise hinterlegen. Bestellt der Kunde 1-29 Stk. = 50 € pro Stück, 30-49 Stk. = 45 € pro Stück, bei mind. 50 Stk = 40 € pro Stück.
Ich habe in anderen Beiträgen schon von vielen Apps gelesen, mit denen man einen Mengenrabatt hinterlegen kann. Ich habe allerdings noch keine App gefunden, die für uns passend erschien..
Wir suchen eigentlich nur eine Möglichkeit, den reduzierten Preis pro Stück (keine Prozentangaben) anzugeben, sodass sich dieser automatisch anpasst, wenn der Kunde eine bestimmte Bestellmenge überschreitet. Wichtig wäre uns auch, dass der Kunde schon auf der Produktseite sieht, dass sich der Preis verändert, nicht erst im Check-out-Prozess.
Zudem: Bei vielen Apps, die ich mir angeschaut habe, erscheint auf der Produktseite eine Tabelle, in der die Menge und die Prozente angezeigt werden. Diese Lösung finden wir optisch nicht ansprechend.
Falls jemand also eine simple Möglichkeit kennt, mit der wir einfach nur die Menge und den Stückpreis hinterlegen können, sodass sich der korrekte reduzierte Preis automatisch auf der Produktseite errechnet ohne dass eine Tabelle durch die App eingefügt wird, wären wir für einen Hinweis dankbar.
P.S. wir bestehen nicht auf eine Lösung mit einer App, sollte es andere Wege geben. Wir nutzen das Theme "Impact".
Vielen Dank
Heyb @JH6
Danke für die Anwendungsfall und wenn euch die Apps nicht passen, dann wird das womöglich eine eigene Anpassung verlangen und gerne kann ich dazu Coding Tipps abgeben. Welche genauen Apps hast du bis jetzt unerfolgreich getestet?
Vorher jedoch wäre vielleicht eine einfache Möglichkeit, Staffelpreise im Shopify-Shop ohne die Verwendung einer App oder einer Tabelle auf der Produktseite umzusetzen, ist die Verwendung von Varianten und zwar wie folgt:
Füge die verschiedenen Staffelungen hinzu, z.B.:
Lege für jede Variante den entsprechenden Preis fest:
Speicher die Änderungen. Nun wird auf der Produktseite ein Dropdown-Menü mit den verschiedenen Mengenstaffelungen und den zugehörigen Preisen angezeigt. Wenn Kunden eine Staffelung auswählen, wird der Preis automatisch angepasst.
Beachte jedoch, dass diese Methode einige Einschränkungen hat wie z. B. wie das Inventar gefolgt wird. Dann können auch Kunden nicht die genaue Menge auswählen, sondern nur die vorgegebenen Staffelungen. Außerdem kann diese Methode bei komplexeren Staffelpreismodellen schnell unübersichtlich werden.
Eine weitere Möglichkeit besteht darin, benutzerdefinierten Code im Theme hinzuzufügen, um Staffelpreise basierend auf der Menge zu berechnen und anzuzeigen. Diese Lösung erfordert jedoch Kenntnisse in Liquid, HTML, CSS und JavaScript und kann je nach Theme unterschiedlich sein.
Wenn du es selber auf deiner Produktkorbseite programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer.
Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negative beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!
Es DIY machen
Gehe in das Theme -> Aktionen -> Duplizieren -> Code bearbeiten und suche die "product-template.liquid" Datei (oder eine ähnlich benannte Datei, die für die Produktseite zuständig ist) im Ordner "Sections" oder "Templates". Suche den Abschnitt, in dem der Produktpreis angezeigt wird, und füge den folgenden HTML-Code ein, um den Staffelpreis anzuzeigen:
<div class="product-price-tier">
<span class="tier-price"></span>
</div>
Öffne die "theme.js" Datei (oder eine ähnlich benannte Datei) im Ordner "Assets" und füge den folgenden JavaScript-Code hinzu, um den Staffelpreis basierend auf der ausgewählten Menge zu berechnen und anzuzeigen:
function updateTierPrice() {
const quantityInput = document.querySelector('input[name="quantity"]');
const tierPriceElement = document.querySelector('.tier-price');
if (!quantityInput || !tierPriceElement) return;
const quantity = parseInt(quantityInput.value, 10);
let tierPrice;
if (quantity >= 1 && quantity <= 29) {
tierPrice = 50;
} else if (quantity >= 30 && quantity <= 49) {
tierPrice = 45;
} else if (quantity >= 50) {
tierPrice = 40;
}
tierPriceElement.innerText = `Staffelpreis: €${tierPrice.toFixed(2)}`;
}
document.addEventListener('DOMContentLoaded', function () {
const quantityInput = document.querySelector('input[name="quantity"]');
if (quantityInput) {
quantityInput.addEventListener('change', updateTierPrice);
updateTierPrice();
}
});
Öffne die "theme.scss.liquid" Datei (oder eine ähnlich benannte Datei) im Ordner "Assets" und füge den folgenden CSS-Code hinzu, um den Staffelpreisbereich zu formatieren:
.product-price-tier {
font-size: 16px;
font-weight: bold;
margin-top: 10px;
}
Das obige ist, wie gesagt, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!
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
Hallo JH6,
ich habe auch nach einer solchen App gesucht und musste schliesslich eine neue entwickeln, die die Rabatte automatisch im Shop übernimmt, wenn man 10 Stück oder mehr in den Warenkorb legt – also alles automatisiert. Hier ist die Staffelpreise-App, die das kann:
https://apps.shopify.com/staffelpreise
Und so sieht es live aus: https://medizinischer-fachhandel.ch/products/nitril-einmalhandschuhe-solution-100-blue
Bei Fragen oder für Erweiterungen einfach melden.
Beste Grüsse,
Christian
Hey Christian! @CRodrigues!
Klasse! Es ist toll immer mehr deutsche oder schweizer Apps im Shopify App Store zu sehen! Wäre aber ein deutsch-englischer Titel der App nicht besser um ein breiteres Händler Publikum zu erreichen? Das sage ich weil Englisch-sprechende Händler vielleicht das Wort "Staffelpreise" nicht verstehen werden, wie beispielsweise "Quantity discounts" oder "Quantity breaks" oder "Bulk discounts".
Dann ist es auch so, dass der Produktpreis sich nicht aktualisiert bei 10+ Stk. was viele Händler erwarten werden, um eine gute User Experience deren Kunden zu gewährleisten. Siehe was ich meine hier:
Kann man das noch einbauen?
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
Hi @Gabe @CRodrigues ,
ich suche aktuell für unseren Store auch gerade nach so einer Funktion, daher folgende Frage:
Wäre es in dem Fall nicht auch mit der nativen Rabattfunktion möglich?
Ist klar, dass es mit einer individuellen quantity break App etwas praktischer ist, da man dann innerhalb der App ein Produkt auswählt und direkt alle Staffelungen in einer einzigen Übersicht anlegen kann.
Jedoch kann man so eine Staffelung doch auch in der Rabatt Funktion im Shopify Admin anlegen:
oder habe ich hier etwas übersehen?
LG
Hey @hb-manuel
Interessant! Hast du das ausprobiert?
Ggf. können sich hier die Rabatte können sich überschreiben, sodass immer der höchste Rabatt angewendet wird, wenn die Stückzahl im Warenkorb erhöht wird. Erstelle einen Automatischen Rabatt.
Shopify erlaubt maximal 25 aktive automatische Rabatte gleichzeitig. Zudem können auf jede Bestellung nur bis zu 5 Produkt-/Bestellungsrabatte und 1 Versandrabatt angewendet werden.
Um Metafelder zu nutzen, um Preisstaffelungen auf der Produktdetailseite (PDP) in Shopify anzuzeigen, erstelle neue Metafelder im Bereich Benutzerdefinierte Daten:
{% if product.metafields.custom_fields.preisstaffelung_10 %}
<p>Mengenrabatt ab 10 Stück: {{ product.metafields.custom_fields.preisstaffelung_10 }}</p>
{% endif %}
{% if product.metafields.custom_fields.preisstaffelung_50 %}
<p>Mengenrabatt ab 50 Stück: {{ product.metafields.custom_fields.preisstaffelung_50 }}</p>
{% endif %}
Hoffe das hilft dir weiter! 😉
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
Ah super, das ist wie immer sehr hilfreich - vielen Dank für die Infos zu den Limitierungen! Die Rabatte an sich haben sehr gut funktioniert, aber mit den Limits ist das dann trotzdem keine richtige Lösung für uns.
Super freut mich! 😉
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
Mit 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, 2025Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024