Traducción de la guía realizada por el usuario Nemo de la Comunidad de Prestashop

Según nos indica Nemo, el tutorial es para Prestashop 1.6
Imaginemos que queremos que, en el carrito, no puedan existir más de 5 productos en total.
Recordamos, que lo mejor es hacer un override de los «Clases y Controladores» que se vayan a modificar.
En el fichero:
/controllers/front/CartController.php
Dentro de la función:
processChangeProductInCart
![]()
Debajo de la línea: (En Prestashop 1.6.1.12, sobre la línea 241)
[sourcecode language=»php»]
$cart_products = $this->context->cart->getProducts();
[/sourcecode]
Añadimos la siguiente
[sourcecode language=»php»]
$total_cart_produtcs_count=0;
[/sourcecode]
Ahora un poco más abajo, donde tenemos esta línea:
[sourcecode language=»php»]
foreach ($cart_products as $cart_product) {
[/sourcecode]
Añadimos:
[sourcecode language=»php»]
$total_cart_produtcs_count+=$cart_product[‘cart_quantity’];
[/sourcecode]
Almacenamos en la variable total_cart_produtcs_count el número total de productos que se van añadiendo al carrito.
Ahora justo antes de este comentario:
[sourcecode language=»text»]
// Check product quantity availability
[/sourcecode]
Añadimos:
[sourcecode language=»php»]
$max_qty = 5;
if(Tools::getValue(‘op’, ‘up’)==’up’ && $mode==’add’)
{
if (count($cart_products) == $max_qty || $total_cart_produtcs_count + $this->qty > $max_qty)
$this->errors[] = sprintf(Tools::displayError(‘El limite de productos en el carrito son %s’), $max_qty);
}
[/sourcecode]

- En la variable «max_qty» indicamos el límite máximo de productos que se pueden añadir al carrito.
- En el primero IF se chequea cuando se añade/actualiza productos al carrito.
- En el segundo IF contamos los productos añadidos al carrito y los comparamos con el límite que hemos establecido
- Si se cumplen los dos IF, imprimimos el mensaje de que se ha llegado al límite de productos que se pueden añadir al carrito.
Esta traducción, puede contener errores o quedar desactualizada en el momento en el que vayáis a ver este post, revisarla siempre con el tutorial de Nemo:
