WebSite X5Help Center

 
Stiac Engineering
Stiac Engineering
User

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

Autor: Stiac Engineering
Visitado 780, Seguidores 5, Compartilhado 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).

Publicado em
7 RESPOSTAS - 3 ÚTEIS - 1 CORRIGIR
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...

Ler mais
Publicado em de Esterre Fatto
Stiac Engineering
Stiac Engineering
User
Autor

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.

Ler mais
Publicado em de Stiac Engineering
Stiac Engineering
Stiac Engineering
User
Autor

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€.

Ler mais
Publicado em de 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()

Ler mais
Publicado em de  lemonsong  
Stiac Engineering
Stiac Engineering
User
Autor

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?

Ler mais
Publicado em de 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

Ler mais
Publicado em de  lemonsong  
Stiac Engineering
Stiac Engineering
User
Autor

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.

Ler mais
Publicado em de Stiac Engineering