在我的情况下,可配置的简单产品缺货,它没有显示在可配置的产品选项列表下。它对我来说很好。但是,当所有选项都缺货时,我如何隐藏可配置产品......?在这种情况下,可配置产品不显示添加到购物车按钮和选项下拉菜单。但是,如果此选项下没有选项,我需要隐藏全部可配置产品。
谢谢, 穆拉利
在我的情况下,可配置的简单产品缺货,它没有显示在可配置的产品选项列表下。它对我来说很好。但是,当所有选项都缺货时,我如何隐藏可配置产品......?在这种情况下,可配置产品不显示添加到购物车按钮和选项下拉菜单。但是,如果此选项下没有选项,我需要隐藏全部可配置产品。
谢谢, 穆拉利
这适用于我(版本 1.7.0.2),配置如下:
这样,当所有选项都售罄时,主产品就被隐藏了。
一种解决方案是编写一个观察者来捕捉catalog_controller_product_init_after
事件。从您的观察者,您可以通过以下方式访问产品对象Mage::registry('product');
通过调用检查产品是否可配置($product->getTypeId() == 'configurable')
。如果它是可配置产品,您可以通过执行访问其子库存
$simples = $product->getTypeInstance(true)->getUsedProducts(null, $product);
$confHasStock = false;
foreach ($simples as $simple) {
if ($simple->getStockItem()->getData('qty') > 0) {
$confHasStock = true;
break;
}
}
如果变量 $confHasStock 仍然为假,则执行 404 重定向或任何您认为合适的“隐藏”产品。