仅在 magento 我的愿望清单中显示已启用的产品
Display only enabled products in magento my wishlist
当用户登录并单击我的心愿单时 link 它会显示产品。但它也显示禁用产品。我只想在愿望清单中显示已启用的产品。
任何人都可以建议我如何更改代码,以便它只在我的愿望清单区域显示已启用的产品。
您可能需要扩展此 class Mage_Wishlist_Model_Wishlist
并通过按状态添加过滤器来覆盖方法 getItemCollection
。像这样的东西(未经测试,只是添加了最后一个方法调用):
$this->_itemCollection = Mage::getResourceModel('wishlist/item_collection')
->setStoreId($this->getStore()->getId())
->addWishlistFilter($this)
->addAttributeToFilter(
'status',
array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
);
请注意,这会在您每次加载心愿单项目集合时排除禁用的产品,不仅从心愿单页面,而且还可能从您展示它的任何地方,我认为这就是您想要的。
当用户登录并单击我的心愿单时 link 它会显示产品。但它也显示禁用产品。我只想在愿望清单中显示已启用的产品。 任何人都可以建议我如何更改代码,以便它只在我的愿望清单区域显示已启用的产品。
您可能需要扩展此 class Mage_Wishlist_Model_Wishlist
并通过按状态添加过滤器来覆盖方法 getItemCollection
。像这样的东西(未经测试,只是添加了最后一个方法调用):
$this->_itemCollection = Mage::getResourceModel('wishlist/item_collection')
->setStoreId($this->getStore()->getId())
->addWishlistFilter($this)
->addAttributeToFilter(
'status',
array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
);
请注意,这会在您每次加载心愿单项目集合时排除禁用的产品,不仅从心愿单页面,而且还可能从您展示它的任何地方,我认为这就是您想要的。