隐藏特定属性集的库存数量/可用性

时间:2016-07-15 19:11:53

标签: php jquery magento magento-1.9

我想解决一些奇怪的情况。 Magento v1.9.2.4

  • 我只有2个不同的属性集。 A和B.

  • 我想显示B组的库存数量/可用性,但不是 设置A.

为了使事情变得更复杂,我有14个客户群,我只希望其中6个群组看到任何数量/可用性。

这是我到目前为止做的事情:

$customerSession = Mage::getSingleton('customer/session');
if($customerSession->isLoggedIn()){
      $groupId = $customerSession->getCustomerGroupId();
      $group = Mage::getModel('customer/group')->load($groupId);
      if ('custgroup_1' == $group->getCode()){ 
        $qty = (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
        echo 'Quantity Available: ' . $qty;
    }
} 

上面的代码段会重复5次,同时更改了[if(' custgroup_1' ...]以适应我需要显示的组。这部分工作正常。

我只需要以某种方式指定我只希望显示属性集B的可用性。然后,无论客户组是什么,都不会显示属性集A的数量/可用性。

我尝试过使用产品页面上的广告资源选项。 (禁用库存管理=数量仍然显示|启用库存管理,将数量设置为0并且我的自定义选项消失了。)magento后端内的任何内容似乎都无效。

我是整个Magento / Dev的新手。如果这被认为是一个愚蠢的问题,我很抱歉。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

所以,在发布这篇文章后,我立即意识到我正在考虑这个问题。

因为任何不在属性集B中的项目没有库存管理,我能够编写一个条件,仅对库存水平大于0的产品启用输出。

以下是可能需要根据客户组显示产品数量的任何人的代码,并隐藏库存管理设置为“否”但设置为“有库存”的任何项目的可用性。< / p>

$customerSession = Mage::getSingleton('customer/session');
if($customerSession->isLoggedIn()){
      $groupId = $customerSession->getCustomerGroupId();
      $group = Mage::getModel('customer/group')->load($groupId);
      if ('custgroup_1' == $group->getCode()){
         $__manStock = $_product->getStockItem()->getManageStock();
         $__invAmt = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
 if ($__manStock > 0)
        echo $this->__("Available Qty:  $__invAmt");
    }
}