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

时间:2013-11-15 10:41:00

标签: php magento

使用Magento 1.8v。

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

示例:

cat1 
  products 
cat2
  subcat      
  subcat

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

我在这个类Mage / Checkout / Model / Cart.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();   

我如何获得类别名称?

1 个答案:

答案 0 :(得分:1)

我尝试在本地安装上重新创建您的问题。

我做了如下

在包含产品输入框的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。
  •   

低于产品名称

为什么你需要这样做?