1
votes

Using Magento 1.8v.

In my customization when customer adding products to cart. Some products qty should not be changeable(i.e qty is fixed) and some other products qty available to change .

Example :

cat1 
  products 
cat2
  subcat      
  subcat

For Example: cat1 products allowed for qty change so when adding to shopping cart it will be 1 and remaining category should not allowed so it is stock item value .

Im trying below code in this class Mage/Checkout/Model/Cart.php but throwing error

$categoryIds=$this->getProduct()->getCategoryIds($productid);
    foreach($categoryIds as $categoryId)    
    $category = Mage::getModel('catalog/category')->load($categoryId);
    if ($category->getName() == 'cat1')   
        $minimumQty = $product->getStockItem()->getMinSaleQty();  
   else if($category->getName() == 'cat2')                        
         minimumQty=stock_item->loadByProduct($product)->getQty();   

How do i get category name ?

1

1 Answers

1
votes

I have tried to recreate your issue on my local installation.

I have done as follows

In file app\design\frontend\base\default\template\checkout\cart\item\default.phtml in td containing input box for the product i added following code :

<?php
    $categoryIds = $this->getProduct()->getCategoryIds($_item->getId());
    foreach($categoryIds as $categoryId) {
        $category = Mage::getModel('catalog/category')->load($categoryId);
        if($category->getId()=='3') {
            $minimumQty = $this->getProduct()->getStockItem()->getMinSaleQty(); 
        } else {
            $minimumQty = $this->getQty();
        }
    }
?>
<input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $minimumQty ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="input-text qty" maxlength="12" />

my category Is is 3, when i run the file, it correctly displays 3 which is the minimum quantity to add to shopping cart for this product.

Although i was wondering as magento already give an error message on this occurance i.e

Some of the products cannot be ordered in requested quantity.

above of the cart and

  • The minimum quantity allowed for purchase is 3.

below product name

why do you need to do this ?