Hola, tengo un dolor de cabeza en mi tienda PrestaShop 1.7.4.0. Necesito una funcionalidad para limitar la cantidad máxima de un producto que un cliente puede comprar en una fecha específica. Por ejemplo, solo 5 unidades del producto X pueden venderse el 20 de julio, y luego otras 5 el 21 de julio.
He intentado hacer un override en classes/Product.php para el método checkQty, pero no me parece muy elegante. Además, hardcodear las fechas y las cantidades por producto es inviable a largo plazo, ya que necesito algo gestionable.
Este es mi intento inicial, muy básico, que me genera conflictos y no es flexible:
class Product extends ProductCore
{
public function checkQty($qty)
{
// Esto es una prueba rápida, pero no es escalable.
// Necesito algo que consulte una base de datos o configuración dinámica.
if ($this->id == 15 && date('Y-m-d') == '2024-07-20' && $qty > 3) {
return false; // Límite de 3 unidades para el producto 15 hoy
}
return parent::checkQty($qty);
¿Alguien ha implementado algo similar en PrestaShop 1.7? ¿Hay algún hook que se me escape o una forma de hacerlo sin un override tan 'bruto'?