WebSite X5Help Center

 
Stiac Engineering
Stiac Engineering
User

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

Автор: Stiac Engineering
Просмотрено 941, Подписчики 5, Размещенный 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).

Размещено
7 Ответы - 3 Полезно - 1 Корректно
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...

Читать больше
Размещено От Esterre Fatto
Stiac Engineering
Stiac Engineering
User
Автор

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.

Читать больше
Размещено От Stiac Engineering
Stiac Engineering
Stiac Engineering
User
Автор

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

Читать больше
Размещено От 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()

Читать больше
Размещено От  lemonsong  
Stiac Engineering
Stiac Engineering
User
Автор

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?

Читать больше
Размещено От 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

Читать больше
Размещено От  lemonsong  
Stiac Engineering
Stiac Engineering
User
Автор

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.

Читать больше
Размещено От Stiac Engineering