Come trovo il prezzo?

di il
1 risposte

Come trovo il prezzo?

Buongiorno, premetto che non ho nessuna conoscenza di programmazione, ma devo creare un tag di GTM che riesca a restituirmi il valore del prezzo di una pagina ecommerce.

Quello che sono inventato di fare tramite JavaScript è questo:

function() {
var price = document.getElementsByClassName("ProductMeta__PriceList");
return price();
}

Facendo "ispeziona elemento" sulla pagina, quello che mi viene fuori riguardo il prezzo è questo:

<div class="ProductMeta__PriceList Heading">
<span class="ProductMeta__Price Price Text--subdued u-h4">€1.600</span>
</div>

Il problema è che la variabile non mi restituisce nulla con il codice che ho creato, qualche idea?

P.s. probabilmente quello che ho scritto non ha il minimo senso, in caso chiedo scusa, ma davvero, non ho mai programmato in vita mia

1 Risposte

  • Re: Come trovo il prezzo?

    Piccolo esempio che spero ti sia utile, ciao.
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    
        <style>
            .ProductMeta__PriceList {
                display: flex;
                flex-direction: column;
            }
        </style>
    </head>
    
    <body>
        <div class="ProductMeta__PriceList Heading">
            <span class="ProductMeta__Price Price Text--subdued u-h4">€1.000</span>
            <span class="ProductMeta__Price Price Text--subdued u-h4">€2.500</span>
            <span class="ProductMeta__Price Price Text--subdued u-h4">€3.500</span>
        </div>
        <span id="showTotal">Totale: €-</span>
        <button id="calcTotal">Calc</button>
    
        <script>
            const productsPrice = document.querySelectorAll('.ProductMeta__Price')
            const showTotal = document.getElementById('showTotal')
            const calTotal = document.getElementById('calcTotal')
    
            function fnTotal() {
                const euroCurrency = new Intl.NumberFormat('it-IT')
                let tot = Array.from(productsPrice).reduce((a, v) => {
                    return a + (+v.textContent.replace(/\.|\€/g, ''))
                }, 0)
                showTotal.textContent = `Totale: €${euroCurrency.format(tot)}`
            }
            
            calTotal.addEventListener('click', fnTotal)
        </script>
    </body>
    
    </html>
    
Devi accedere o registrarti per scrivere nel forum
1 risposte