basicum Posted November 28, 2019 Share Posted November 28, 2019 Necesito saber el número de productos agregados al carrito y que pertenezcan a una categoría concreta. Tengo una tienda de cervezas en prestashop 1.7.6.1 y quiero que los productos de una categoría, por ejemplo "cervezas sueltas", se tenga que agregar un mínimo de 6 o múltiplo de 6 botellines para hacer una caja. El resto de categorías son packs que ya vienen de 6 o 12 unidades, pero quiero obligar a que esa categoría tenga múltiplos de 6. OrderController.php , pero me suma todas las cantidades del carrito y lo que necesito es que sume solo las cantidades que hay de esa categoría. Muchas gracias por vuestro tiempo!! if(!isset($products)){ $products = $this->context->cart->getProducts(); $mult_items=6; if($products) { $valid_categories = array(10); foreach ($products as $prod) { $prod_categories = Product::getProductCategories($prod['id_product']); foreach ($valid_categories as $val_cat) { if(in_array($val_cat, $prod_categories)) { $nbOfProducts=$this->context->cart->getNbProducts($this->context->cart->id); /* HASTA AQUI $nbOfProducts ES LA SUMA DE TODO EL CARRITO, NECESITO QUE $nbOfProducts SEA LA SUMA DE LOS PRODUCTOS PERTENECIENTES A LA CATEGORÍA CON EL ID=10 */ if(($nbOfProducts % $mult_items) != 0){ $this->errors[] =sprintf(Tools::displayError(' Pedido mínimo 6 unidades o múltiplos de 6 para compras de unidades sueltas. Tienes %s'), $nbOfProducts); $this->redirectWithNotifications($this->context->link->getPageLink('cart', null, null, array('action' => 'show'))); } } } } } } Link to comment Share on other sites More sharing options...
gusman126 Posted November 28, 2019 Share Posted November 28, 2019 Podrias hacer un modulo en vez de ir añadiendo override o modificando los ficheros principales. Puedes comprobar en el carrito si hay X de un listado de categorias, avisar que el pedido minimo son 6 unidades y por javascript bloquear o anular el finalizar la compra Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now