Reputation: 485
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 ?
Upvotes: 1
Views: 1019
Reputation: 2500
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 ?
Upvotes: 1