Untitled
<fieldset checkout-container="" class="w-commerce-commercecheckoutblockcontent"><div class="w-commerce-commercecheckoutsummarylineitem"><div>Subtotal</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.subtotal%22%7D%7D%5D" class="ecommerce---2">$ 78.00 USD</div></div><script type="text/x-wf-template" id="wf-template-675768009877110edda7c0890000000000a0">%3Cdiv%20class%3D%22w-commerce-commercecheckoutordersummaryextraitemslistitem%22%3E%3Cdiv%20data-wf-bindings%3D%22%255B%257B%2522innerHTML%2522%253A%257B%2522type%2522%253A%2522PlainText%2522%252C%2522filter%2522%253A%257B%2522type%2522%253A%2522identity%2522%252C%2522params%2522%253A%255B%255D%257D%252C%2522dataPath%2522%253A%2522database.commerceOrder.extraItems%255B%255D.name%2522%257D%257D%255D%22%20class%3D%22w-dyn-bind-empty%22%3E%3C%2Fdiv%3E%3Cdiv%20data-wf-bindings%3D%22%255B%257B%2522innerHTML%2522%253A%257B%2522type%2522%253A%2522CommercePrice%2522%252C%2522filter%2522%253A%257B%2522type%2522%253A%2522price%2522%252C%2522params%2522%253A%255B%255D%257D%252C%2522dataPath%2522%253A%2522database.commerceOrder.extraItems%255B%255D.price%2522%257D%257D%255D%22%20class%3D%22ecommerce---2%22%3E%24%C2%A00.00%C2%A0USD%3C%2Fdiv%3E%3C%2Fdiv%3E</script><div class="w-commerce-commercecheckoutordersummaryextraitemslist" data-wf-collection="database.commerceOrder.extraItems" data-wf-template-id="wf-template-675768009877110edda7c0890000000000a0"><div class="w-commerce-commercecheckoutordersummaryextraitemslistitem"><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22PlainText%22%2C%22filter%22%3A%7B%22type%22%3A%22identity%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.0.name%22%7D%7D%5D">State Taxes</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.0.price%22%7D%7D%5D" class="ecommerce---2">$ 4.88 USD</div></div><div class="w-commerce-commercecheckoutordersummaryextraitemslistitem"><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22PlainText%22%2C%22filter%22%3A%7B%22type%22%3A%22identity%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.1.name%22%7D%7D%5D">County Taxes</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.1.price%22%7D%7D%5D" class="ecommerce---2">$ 0.78 USD</div></div><div class="w-commerce-commercecheckoutordersummaryextraitemslistitem"><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22PlainText%22%2C%22filter%22%3A%7B%22type%22%3A%22identity%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.2.name%22%7D%7D%5D">Special District Taxes</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.2.price%22%7D%7D%5D" class="ecommerce---2">$ 1.76 USD</div></div><div class="w-commerce-commercecheckoutordersummaryextraitemslistitem"><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22PlainText%22%2C%22filter%22%3A%7B%22type%22%3A%22identity%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.3.name%22%7D%7D%5D">Free Shipping Over $50</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.extraItems.3.price%22%7D%7D%5D" class="ecommerce---2">$ 0.00 USD</div></div></div><div class="w-commerce-commercecheckoutsummarylineitem"><div>Taxes</div><div class="ecommerce---2">$ 0.00 USD</div></div><div class="w-commerce-commercecheckoutsummarylineitem"><div>Total</div><div data-wf-bindings="%5B%7B%22innerHTML%22%3A%7B%22type%22%3A%22CommercePrice%22%2C%22filter%22%3A%7B%22type%22%3A%22price%22%2C%22params%22%3A%5B%5D%7D%2C%22dataPath%22%3A%22database.commerceOrder.total%22%7D%7D%5D" class="w-commerce-commercecheckoutsummarytotal ecommerce---2">$ 85.42 USD</div></div><div class="hide w-embed w-script"><script> document.addEventListener("DOMContentLoaded", function () { // Seleccionamos el contenedor principal const checkoutContainer = document.querySelector("[checkout-container]"); if (!checkoutContainer) return; // Inicializamos la suma de todos los taxes let totalTaxes = 0; // Obtenemos todas las filas que contienen impuestos (dentro del contenedor extraItems) const taxRows = Array.from( checkoutContainer.querySelectorAll(".w-commerce-commercecheckoutordersummaryextraitemslistitem") ); // Iteramos sobre cada fila de impuestos para sumar los valores y ocultarlas taxRows.forEach((taxRow) => { const amountDiv = taxRow.querySelector(".ecommerce---2"); // Div donde está el monto if (amountDiv) { const match = amountDiv.textContent.match(/\$\s?([\d,]+\.\d{2})\sUSD/); if (match) { // Convertimos el monto a número y lo sumamos totalTaxes += parseFloat(match[1].replace(/,/g, "")); } } // Ocultamos la fila completa taxRow.style.display = "none"; }); // Crear una nueva fila para mostrar los Taxes consolidados const newTaxRow = document.createElement("div"); newTaxRow.className = "w-commerce-commercecheckoutsummarylineitem"; // Primer div (Título) const titleDiv = document.createElement("div"); titleDiv.textContent = "Taxes"; // Segundo div (Monto formateado) const amountDiv = document.createElement("div"); amountDiv.className = "ecommerce---2"; amountDiv.textContent = `$ ${totalTaxes.toFixed(2)} USD`; // Añadimos los divs a la nueva fila newTaxRow.appendChild(titleDiv); newTaxRow.appendChild(amountDiv); // Encontramos el row con el "Total" y aseguramos insertar la nueva fila antes de él const totalRow = Array.from(checkoutContainer.querySelectorAll(".w-commerce-commercecheckoutsummarylineitem")).find( (row) => row.textContent.includes("Total") ); if (totalRow) { checkoutContainer.insertBefore(newTaxRow, totalRow); } }); </script></div></fieldset>
Leave a Comment