Untitled
unknown
plain_text
9 months ago
6.7 kB
4
Indexable
<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>Editor is loading...
Leave a Comment