Wenn ich die Variante ändere, ändert sich meine Tabelle mit den Mengenrabatten nicht

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. :wink:

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 = `€${metafield.price}`;

                   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! :wink:


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.