¡Hola a todos!
Estoy intentando configurar un valor de pedido mínimo en mi tienda PrestaShop, pero con una particularidad: necesito que este mínimo sea diferente según el grupo de clientes al que pertenezca el usuario. Por ejemplo, los clientes VIP tendrían un mínimo de 100€, mientras que los clientes normales tendrían 50€.
He intentado hacer un override en la clase Cart.php para añadir una lógica de validación, pero no estoy seguro de cómo capturar el grupo de cliente de forma fiable en ese contexto y mostrar un mensaje de error claro al usuario antes de finalizar la compra. Mi intento actual es muy básico y no distingue por grupo:
class Cart extends CartCore
{
public function checkValidity()
{
$context = Context::getContext();
// Esto solo aplica un mínimo global, no por grupo
if ($context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING) < 50) {
$this->addValidationMessage('El valor mínimo de tu pedido es de 50€.', 3);
return false;
}
¿Alguien ha implementado algo similar o tiene alguna idea de cómo manejar esto de forma limpia sin romper la tienda con cada actualización?