Ir al contenido principal
Todas las coleccionesCreador de sitios webTienda online
Creador de Sitios Web: Cómo cambiar el formato del precio en la tienda online
Creador de Sitios Web: Cómo cambiar el formato del precio en la tienda online

Aprenda a cambiar el formato de los precios de los productos en su tienda online creada con Hostinger AI Builder

Actualizado hace más de un año

Este artículo explica cómo cambiar el formato de los precios de los productos en la tienda online creada con Hostinger Website Builder.

Los cambios serán visibles en las secciones de la lista de productos, en las páginas de productos y en la bolsa de la compra. Los precios predeterminados se seguirán mostrando en la caja, las facturas y el área de gestión de la tienda 💡.

Copia el código

<script>
const currency = '€';
const thousandsSeparator = '.';
const removeCents = false;
const priceInTheEnd = false;
let fullPrice;

const addCommaToPrice = (price, currency) => {
/* currency at the end */
if (price.innerText.slice(0, currency.length) !== currency) {
fullPrice = price.innerText.substring(0, price.innerText.indexOf(currency));
}
/* currency in front */
else {
fullPrice = price.innerText.slice(currency.length);
}

/* if cents exist */
if (removeCents) {
fullPrice = fullPrice.slice(0, -3);
}
fullPrice = fullPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator);

if (priceInTheEnd) {
fullPrice = `${fullPrice} ${currency}\n`;
}
else {
fullPrice = `${currency} ${fullPrice}\n`;
}

price.innerText = fullPrice;
};

const priceChanged = (price) => {
if (price.innerHTML.indexOf('<br>') > -1) {
return true;
}

else {
return false;
}
};

setInterval(() => {
/*Product pages*/
if (document.querySelector('.block-product__price') && !priceChanged(document.querySelector('.block-product__price'))) {

document.querySelectorAll('.block-product__price').forEach(price => {
addCommaToPrice(price, currency);
});
}

/*Cart*/
if (document.querySelector('.cart__price') && !priceChanged(document.querySelector('.cart__price'))) {

document.querySelectorAll('li.cart__list-item').forEach(product => {

if (product.contains(product.querySelector('.cart__sale-price'))) {
addCommaToPrice(product.querySelector('.cart__price'), currency);
addCommaToPrice(product.querySelector('.cart__sale-price'), currency);
}

else {
addCommaToPrice(product.querySelector('.cart__price'), currency);
}
})

if (!priceChanged(document.querySelector('.cart__title span'))) {
addCommaToPrice(document.querySelector('.cart__title span'), currency);
}
}

/*Section*/
if (document.querySelector('.product-list-item__price-wrapper span') && !priceChanged(document.querySelector('.product-list-item__price-wrapper span'))) {

document.querySelectorAll('.product-list-item').forEach(product => {
if (product.querySelector('p.product-list-item__price-content')) {
addCommaToPrice(product.querySelector('.product-list-item__price-wrapper span'), currency);
addCommaToPrice(product.querySelector('p.product-list-item__price-content'), currency);
}

else {
addCommaToPrice(product.querySelector('.product-list-item__price-wrapper span'), currency);
}
})
}
}, 500);
</script>

Personalizar el código

Realiza las siguientes modificaciones en el código dependiendo de lo que quieras cambiar 👇

Moneda

Copie y pegue el símbolo de moneda de su tienda:

let currency = '$';

Es crucial que insertes el valor exacto que ves junto al precio de tu producto:

Separador de miles

Para mostrar 20000 $ (miles sin separar)

const thousandsSeparator = ''; 

Para mostrar $20,000 (miles separados por una coma)

const thousandsSeparator = ', ';

Céntimos

Para mostrar 20000 $ (sin céntimos)

const removeCents = true;

Para mostrar $20000.00 (centavos)

const removeCents = false;

Posición en divisas

Para mostrar $20000

const currencyInTheEnd = false;

Para mostrar 20000$

 would show € 20000 const currencyInTheEnd = true; 

Pegue el código

Dentro del constructor, ve a ConfiguraciónIntegraciones de tu sitio web, y pega el código en el campo Código personalizado. A continuación, guarda los cambios y actualiza tu sitio web.

¿Ha quedado contestada tu pregunta?