Hola a todos,
Estoy teniendo un problema en mi tienda PrestaShop con la lógica de precios. Necesito que los descuentos por grupo de clientes NO se apliquen a aquellos productos que ya tienen un precio específico definido. Si un producto tiene un precio específico (por ejemplo, para una cantidad o cliente concreto), el descuento de grupo no debería superponerse.
He intentado una modificación en el override de la clase Product, específicamente en getPriceStatic, para desactivar la reducción de grupo si se encuentra un precio específico, pero no funciona como espero. El descuento de grupo sigue aplicándose o la lógica se vuelve muy compleja y se rompe con cada actualización.
Aquí tenéis un fragmento de mi intento de override en override/classes/Product.php:
class Product extends ProductCore
{
public static function getPriceStatic($id_product, $usetax = true, $id_product_attribute = null, $decimals = 6,
$id_currency = null, $id_shop = null, $usegroupreduction = true, $quantity = 1, $id_customer = null,
$id_cart = null, $id_address = null, &$specific_price_output = null, $with_ecotax = true,
$use_shop_context = true, $id_customization = null)
{
// ... mucha lógica del método original ...
$specific_price = SpecificPrice::getSpecificPrice(
$id_product, $id_shop, $id_currency, Context::getContext()->country->id,
El problema es que parent::getPriceStatic en un método estático no funciona para llamar al original en un override, y simplemente cambiar $usegroupreduction no parece ser suficiente o se sobrescribe después. ¿Alguna idea de cómo manejar esto de forma correcta?