magento检查产品是否被禁用的地方

时间:2013-11-21 13:35:06

标签: php magento

当我插入禁用magento重定向到404页面的产品的url时。我需要覆盖该控制器或重定向到该页面的任何内容。

我在mage_catalog_model_product_status中找到了这个函数:

public function getProductStatus($productIds, $storeId = null)
{
    return $this->getResource()->getProductStatus($productIds, $storeId);
}

如果启用了id为9的产品,则返回{“9”:“1”},如果禁用{“9”:“2”}。 我将功能更改为:

public function getProductStatus($productIds, $storeId = null)
{
    return array('9'=>'1');
}

但是magento仍然会将我重定向到404页面。

有人知道这发生在哪里吗? magento检查产品是否被禁用的地方?

1 个答案:

答案 0 :(得分:0)

如果您重写此方法:Mage_Catalog_Model_Product_Status::getVisibleStatusIds()并使其如下所示:

public function getVisibleStatusIds()
{
    return array(self::STATUS_ENABLED, self::STATUS_DISABLED);
}

然后您的残疾人产品也会列在前端。