Liquid, JavaScript, Themes
Wenn ich die Variante ändere, bleibt die Tabelle dieselbe wie bei der ersten Variante. Kann mir bitte jemand bei meinem Problem helfen? (Die Tabelle wird über Variant.Metafelder bestückt)
Vielen Dank und Grüße Julian
Hey Julian! @Julian7
Es ist schwer zu sagen und ein Bild reicht hier nicht aus um das zu analysieren. Deswegen hast du im anderen Englischen Thread auch keine Antwort bekommen. Da müssen wir ja Guesswork betreiben. 😉
Du kannst einen JavaScript verwenden, das die Metafelder der ausgewählten Variante abruft und die Tabelle entsprechend aktualisiert. Hier ein paar generelle Beispiele (musst du an dein Theme anpassen):
document.addEventListener('DOMContentLoaded', function() {
const variantSelect = document.querySelector('select[name="id"]');
variantSelect.addEventListener('change', updateVolumeDiscountTable);
function updateVolumeDiscountTable() {
const selectedVariantId = variantSelect.value;
// Fetch the metafields for the selected variant (this example assumes you have an endpoint to get metafields)
fetch(`/products/${selectedVariantId}/metafields`)
.then(response => response.json())
.then(data => {
const discountTable = document.querySelector('.hulkapps-volume-discount-tiers tbody');
discountTable.innerHTML = ''; // Clear current table contents
data.metafields.forEach(metafield => {
// Assuming metafields contain the necessary discount info
const tr = document.createElement('tr');
const tdQuantity = document.createElement('td');
const tdPrice = document.createElement('td');
tdQuantity.textContent = `ab ${metafield.quantity}`;
tdPrice.innerHTML = `<span class="hulkapps-price"><span class="money">€${metafield.price}</span></span>`;
tr.appendChild(tdQuantity);
tr.appendChild(tdPrice);
discountTable.appendChild(tr);
});
})
.catch(error => console.error('Error fetching variant metafields:', error));
}
// Initial update on page load
updateVolumeDiscountTable();
});
Stelle sicher, dass du einen Endpunkt hast, um die Metafelder der Varianten abzurufen. Dies könnte eine API sein, die die benötigten Daten bereitstellt. Zum Beispiel:
{
"metafields": [
{
"quantity": 1,
"price": 25.75
},
{
"quantity": 100,
"price": 24.95
},
{
"quantity": 250,
"price": 24.45
},
{
"quantity": 500,
"price": 23.95
}
]
}
Hoffe das hilft dir weiter - bei weiteren Fragen kann ich gerne einen Entwickler empfehlen! 😉
---
Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas 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.
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 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