| Quantità | Prezzo unitario |
|---|
* Prezzi IVA esclusa. La fascia si aggiorna in base alla quantità scelta.
'; } // Funzione che inietta la tabella nella pagina prodotto function injectTable() { // Controlla che siamo sulla pagina giusta var url = window.location.href; if (!url.includes("pile-torino") && !url.includes(PRODUCT_ID)) { // Controlla anche tramite il titolo del prodotto nella pagina var titolo = document.querySelector(".product-details__product-title, .ec-page-title"); if (!titolo || !titolo.textContent.includes("Pile Torino")) { return; } } // Evita di aggiungere la tabella due volte if (document.getElementById("volume-price-table")) return; // Trova dove inserire la tabella (dopo le opzioni prodotto) var target = document.querySelector( ".product-details__product-options, " + ".ec-form, " + ".product-details-module__button-wrap" ); if (!target) return; // Crea il contenitore var div = document.createElement("div"); div.id = "volume-price-table"; div.innerHTML = buildTable(null); // Inserisce dopo le opzioni target.parentNode.insertBefore(div, target.nextSibling); // Aggiunge il CSS if (!document.getElementById("volume-price-css")) { var style = document.createElement("style"); style.id = "volume-price-css"; style.textContent = CSS; document.head.appendChild(style); } // Aggiorna la fascia evidenziata quando cambia la quantità var qtyInput = document.querySelector(".product-details__qty input, input[name='qty']"); if (qtyInput) { qtyInput.addEventListener("input", function() { var qta = parseInt(this.value) || 1; var tableDiv = document.getElementById("volume-price-table"); if (tableDiv) tableDiv.innerHTML = buildTable(qta); }); } } // Aspetta che Ecwid carichi la pagina prodotto // Ecwid è una SPA, dobbiamo aspettare che il DOM sia pronto function waitAndInject() { var attempts = 0; var interval = setInterval(function() { attempts++; injectTable(); if (document.getElementById("volume-price-table") || attempts > 20) { clearInterval(interval); } }, 500); } // Ascolta i cambi di pagina di Ecwid (SPA navigation) if (window.Ecwid) { Ecwid.OnPageLoaded.add(function(page) { if (page.type === "PRODUCT" && page.productId === PRODUCT_ID) { setTimeout(waitAndInject, 300); } }); } else { // Fallback: aspetta che Ecwid sia disponibile document.addEventListener("DOMContentLoaded", function() { setTimeout(waitAndInject, 1000); }); } })();