¡Hola a todos!
Estoy intentando configurar mi tienda PrestaShop 1.7.3.0 para mostrar precios sin IVA a los usuarios que no están registrados y que, además, no se encuentran en España. Es algo que me está volviendo loco porque en el core no encuentro ninguna opción para esto, y cada intento de override es muy frágil.
Mi idea era modificar el método getPriceStatic en la clase Product para añadir esta lógica. Pero me atasco en cómo obtener la geolocalización de forma fiable para un usuario no logueado y luego aplicar el cambio a $usetax. ¿Alguien ha lidiado con esto?
Esto es lo que he intentado dentro de override/classes/Product.php, pero no sé cómo continuar o si es el enfoque correcto:
// Dentro de Product::getPriceStatic() en mi override/classes/Product.php
// ...
if (!Context::getContext()->customer->isLogged()) {
$customer_country_id = null;
// ¿Cómo determinar el $customer_country_id por geolocalización aquí?
// He probado $_SERVER['REMOTE_ADDR'] pero no sé cómo resolverlo a un país.
// Si el país es diferente de 'ES', quiero $usetax = false;
// Pero no puedo modificar $usetax de forma fiable para cada producto.
}
// ...
¿Alguna idea de cómo puedo implementar esto sin que se rompa con cada actualización o sea un agujero de seguridad?