【发布时间】:2015-01-13 11:02:30
【问题描述】:
当用户登录并单击我的愿望清单链接时,它会显示产品。但它也显示禁用的产品。我只想在愿望清单中显示已启用的产品。 任何人都可以建议我如何更改代码,以便它只在我的愿望清单区域显示启用的产品。
【问题讨论】:
当用户登录并单击我的愿望清单链接时,它会显示产品。但它也显示禁用的产品。我只想在愿望清单中显示已启用的产品。 任何人都可以建议我如何更改代码,以便它只在我的愿望清单区域显示启用的产品。
【问题讨论】:
您可能必须扩展此类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)
);
请注意,这将在您每次加载心愿单项目集合时排除禁用的产品,不仅从心愿单页面,而且可能从您显示它的任何地方,我认为这是您想要的。
【讨论】:
addFieldToFilter而不是addAttributeToFilter?