Funcionalidades en todas las páginas de sitios VTEX
Cambiar formato de moneda
Para que está función trabaje de forma correcta se debe agregar el símbolo "$" al contenedor del precio para que al volver a llamar la función regrese el valor correcto. ejemplo en función update_minicart
//Format Currency
function update_currency_format(price){
var coma_position = price.search(',');
var total_lenght = price.length-3;
if(coma_position == total_lenght){
price = price.substring(2);
var coma_position = price.search(',');
price = price.replace(/\./g, ',');
price = replaceAt(price, coma_position, '.');
return price;
}else{
return price.substring(1);
}
}
function replaceAt(s, n, t) {
return s.substring(0, n) + t + s.substring(n + 1);
}
Cambios en orderFormUpdate
La función update_minicart actualiza el formato de moneda del minicart
Por CSS se agrega display:none; a la clase .portal-minicart-ref y se quita con las siguientes funciones para que no se displiegue el minicart al cargar la página, sino hasta que hagan hover en el carrito o se agregue un producto nuevo.
El código de arriba funciona con la siguiente estructura html, de ser necesario se puden cambiar los selectores.
Update minicart
//Update Mini Cart
function update_minicart(){
//update price for product list in minicart
var best_price = $('#minicart_wrapper .cartSkuUnitPrice .bestPrice');
if(best_price.length){
best_price.each(function(e,i){
$(this).html('$' + update_currency_format($(this).text()));
});
}
//update total in minicart
var total_minicart = $('#minicart_wrapper .vtexsc-totalCart .vtexsc-text');
if(total_minicart.length){
total_minicart.html('$' + update_currency_format(total_minicart.text()));
}
}