2016-07-15 43 views
0

我有点奇怪的情况,我正在尝试修复。 的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.然后不管客户组从不显示属性的qty/availability属性设置A.

我试过玩过并在产品页面上显示库存选项。 (禁用库存管理=数量仍显示库存管理,将数量设置为0,并且我的自定义选项消失。)在magento后端内没有任何工作似乎有效。

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

谢谢任何​​/所有的帮助!

回答

0

所以,发布后立即发现我正在考虑所有错误的问题。

因为那是没有属性集合B的任何物品没有库存管理,我能写,使输出只对有库存水平大于0

这里是产品的条件适用于任何可能需要根据客户组显示产品数量的代码,并隐藏库存管理设置为否,但设置为“库存”的任何商品的可用性。

$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"); 
    } 
}