当产品添加到购物车时,如何获取类别名称


When Product adding to cart how to get category name

使用Magento 1.8v。

在我的定制中,当客户将产品添加到购物车时。有些产品的数量不应该是可更改的(即数量是固定的),而其他一些产品的数量可以更改。

例:

cat1 
  products 
cat2
  subcat      
  subcat

例如: Cat1 产品允许数量更改,因此当添加到购物车时,它将是 1,并且不允许剩余类别,因此它是库存项目价值。

我正在尝试在此类中使用以下代码 法师/结帐/模型/购物车.php但抛出错误

$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();   

如何获取类别名称?

我试图在本地安装上重现您的问题。

我做了如下工作

在包含产品输入框的td的文件app'design'frontend'base'default'template'checkout'cart'item'default.phtml中,我添加了以下代码:

<?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" />

我的类别是 3,当我运行文件时,它正确显示 3,这是添加到该产品购物车的最小数量。

虽然我想知道因为 magento 已经在这种情况下给出了错误消息,即

某些产品无法按要求的数量订购。

购物车上方和

  • 允许购买的最低数量为 3。

以下产品名称

你为什么需要这样做?