WebSite X5Help Center

 
Stiac Engineering
Stiac Engineering
User

Sostituire prezzo 0,00€ con scritta "Gratis"  it

Autore: Stiac Engineering
Visite 933, Followers 5, Condiviso 0  

Buongiorno a tutti,

spero che le vacanze stiano passando piacevolmente.

Vorrei domandare un aiutino, se possibile, per perfezionare un codice che ha il ruolo di sostituire il prezzo 0,00€ con la scritta Gratis nel consueto catalogo prodotti di WebSite X5 Pro (e se applicabile in cartsearch e cart).

Esempio:

www.stiac.it/kessey.php

Ho notato che se viene variata la "variante prodotto" la scritta scompare, mentre in cart e cartsearch non sono riuscito a implementare il tutto.

Il codice usato potete trovarlo qui (https://codepen.io/stiac/pen/WNwxwEz).

Postato il
7 RISPOSTE - 3 UTILI - 1 CORRETTO
Esterre Fatto
Esterre Fatto
User

Ciao,

il tuo codice che cambia il prezzo viene eseguito all'onload della pagina (window.onload = stiacFreePrice) e la select delle varianti fa la stessa cosa andando a sovrascrivere la tua modifica. Dovresti fare in modo che quando cambia il valore della select venga di nuovo eseguita la tua funzione di cambio prezzo.

Domanda: ma il tag che hai usato <price> dove lo hai preso? non mi risulta sia un tag standard...

Leggi di più
Postato il da Esterre Fatto
Stiac Engineering
Stiac Engineering
User
Autore

Onestamente non ne ho la più pallida idea.

Faccio da autodidatta dunque online oppure mi è presa la vena artistica nel momento in cui ho buttato giù il codice.

Leggi di più
Postato il da Stiac Engineering
Stiac Engineering
Stiac Engineering
User
Autore

Provando a sostituire nel codice il tag con uno standard non riesco a far funzionare il CSS.

Se metto ad esempio:

<div class="button">GRATIS!</div>

Il codice non funziona. Rimane sempre 0,00€.

Leggi di più
Postato il da Stiac Engineering
 lemonsong  
 lemonsong  
User

Quando si utilizzano i doppi apici e gli apici singoli in uno script, bisogna stare attenti ad "alternarli".

Nel tuo caso, devi sostituirli con quelli singoli:

<span class='button'>GRATIS!</span> (meglio sostituire il tag div con span)

Per far funzionare il codice anche nel carrello e la nuova ricerca, in aggiunta a quanto scritto da Esterre Fatto, dovresti anche ritardare la funzione con, per esempio, setTimeout()

Leggi di più
Postato il da  lemonsong  
Stiac Engineering
Stiac Engineering
User
Autore

Buongiorno ragazzi,

grazie di cuore per le dritte. Ho provato a inserire nel codice:

window.onchange=stiacFreePrice;
setTimeout(stiacFreePrice(), 3000);

Nella pagina standard pare funzionare con un piccolo problema. Avendo impostato 0,00€ come target da sostituire di conseguenza va a sostituire le cifre simili, dunque 140,00 € diventa 14GRATIS! e così via.

Come posso circoscrivere il replace?

Leggi di più
Postato il da Stiac Engineering
 lemonsong  
 lemonsong  
User

Con, per esempio, un'espressione regolare:

var res = str.replace(/^0,00.€$/, "<span class='button'>GRATIS!</span>");

Posto anche immagine, nel caso il codice venisse "segato":

Ti linko un editor (con esempio) molto utile per fare pratica con le regex:

https://regex101.com/r/AAwd8e/1

Leggi di più
Postato il da  lemonsong  
Stiac Engineering
Stiac Engineering
User
Autore

Nela pagina normale funziona a meraviglia! 

Sto provando ad aggiornare online, connessione permettendo.

Ho provato in /cart/ e /cartsearch/ tuttavia non va. Secondo me è un problema di document.getElementById.

Leggi di più
Postato il da Stiac Engineering