我有一个多商店有一些奇怪的问题:在一个商店 $product->isAvailable() 在某些产品上返回 true,但在另一家商店 $product->isAvailable() 总是返回 null。
在这个函数中 isAvailable()
$this->getTypeInstance(true)->isSalable($this)
和
Mage::helper('catalog/product')->getSkipSaleableCheck();
两者都返回 null。两种产品具有相同的属性,并且两个商店都使用与库存可用性有关的一般商店配置。
在升级之前,我使用了 v.1.4.0.2,我想 isAvailable()/isSaleable() 的逻辑发生了一些变化。我不明白这两种产品的区别,这是一种产品不可用的原因。
//编辑 :
经过一些调试,我发现该方法
isSalable($product = null)
isAvailable() 中的 $this->getTypeInstance(true)->isSalable($this) 调用返回 0,因为
$this->getProduct($product)->getData('is_salable')
是 0。这导致了哪些属性负责这个生成的 is_saleable 属性的问题。