Jump to content

Recommended Posts

Buenas,

 

Necesito aplicar un descuento del 10% por multiplos de 50 unidades de un mismo producto, por ejemplo, si el usuario elige...

- 50 unidades, se aplica un descuento de 10%

- 51 unidades, se aplica un descuento del 10% a 50 unidades y 1 unidad tendra el precio normal.

- 110 unidades, se aplica un descuento del 10% a 100 unidades y 10 unidades tendran el precio normal.

Y así sucesivamente...

 

¿Alguien sabe como puedo hacer esto? ¿algun módulo que lo permita gratuito o de pago?.

 

Gracias y un saludo.

Link to comment
Share on other sites

Crear una Regla de Carrito Personalizada o Modificar el Cálculo del Carrito
Sobrescribir la clase Cart:

Puedes sobrescribir la clase Cart en PrestaShop para personalizar la aplicación de descuentos según la cantidad de productos en el carrito.

Identifica múltiplos de 50 en la cantidad de cada producto en el carrito.
Para cada múltiplo de 50, calcula el descuento del 10%.
Aplica el descuento solo a las unidades elegibles (por ejemplo, para 110 unidades, aplica un descuento del 10% a 100 unidades y deja las 10 unidades restantes a precio normal).
class Cart extends CartCore
{
public function getOrderTotal($withTaxes = true, $type = Cart::BOTH)
{
$total = parent::getOrderTotal($withTaxes, $type);

foreach ($this->getProducts() as $product) {
$quantity = $product['cart_quantity'];
$eligibleDiscountUnits = floor($quantity / 50) * 50;
$normalPriceUnits = $quantity % 50;

$productPrice = $product['price'];
$discountedPrice = $productPrice * 0.90; // 10% de descuento

// Calcula el total para este producto con la lógica de descuento personalizada
$productTotal = ($eligibleDiscountUnits * $discountedPrice) + ($normalPriceUnits * $productPrice);

// Ajusta el total del carrito en consecuencia
$total += $productTotal - ($product['total_wt']); // Ajustar por la diferencia
}

return $total;
}
}

  • Thanks 1
Link to comment
Share on other sites

Gracias @Knowband Plugins, lo voy a probar. De todas formas, lo ideal sería hacerlo con algun módulo y poder hacerlo también en otros productos y con diferentes multiplos, no solo con 50 unidades.

@aixos Si, lo había mencionado primero ahí, pero luego he visto que mi problema era algo diferente y he abierto este nuevo tema.

Edited by pShark (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...