Jump to content

Cuántos productos de una categoría concreta hay en el carrito??


basicum

Recommended Posts

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

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

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...