1

使用 Magento 1.8v。

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

例子 :

cat1 
  products 
cat2
  subcat      
  subcat

例如: cat1 产品允许数量更改,因此添加到购物车时它将为 1 并且不应允许剩余类别,因此它是 stock item value 。

我在这个类 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();   

我如何获得类别名称?

4

1 回答 1

1

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

我做了如下

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

<?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。

产品名称下方

为什么你需要这样做?

于 2013-11-15T11:01:17.327 回答