Magento收集过滤器

Magento收集过滤器,magento,Magento,我正在使用模块通过前端和客户创建magento产品,一切都已完成,工作正常,我在产品中设置了一个新属性,名为product_Revied 1表示已审核,0表示未审核,它是产品的一个状态字段,指示产品是否由管理员审核, 现在我想在magento站点的前端隐藏所有未审核的产品product_revieved=0,有人可以指导我如何实现这一点吗。我的意思是默认情况下,Magento前端显示所有状态已发布的产品,但在某种程度上,我希望添加一个全局过滤器,该过滤器还将隐藏未经管理员审核的产品 如果要确定是

我正在使用模块通过前端和客户创建magento产品,一切都已完成,工作正常,我在产品中设置了一个新属性,名为product_Revied 1表示已审核,0表示未审核,它是产品的一个状态字段,指示产品是否由管理员审核,
现在我想在magento站点的前端隐藏所有未审核的产品product_revieved=0,有人可以指导我如何实现这一点吗。我的意思是默认情况下,Magento前端显示所有状态已发布的产品,但在某种程度上,我希望添加一个全局过滤器,该过滤器还将隐藏未经管理员审核的产品

如果要确定是否显示,则需要重写该方法。 在你的情况下,你需要重写

Mage_目录\u助手\u产品::canShow

Mage\u目录\u型号\u产品::iVisibleInCatalog


此外,您还可以使用模板上的helper检查此属性

重写以下方法[Mage_Catalog_Model_Product::isVisibleInCatalog],重写核心类对于单个产品视图来说效果很好,但这些产品仍然显示在列表视图、特色产品等中。。。如何过滤列表视图呢?我曾尝试使用[catalogProductCollectionLoadBefore]的事件观察器,但没有效果。我尝试调试了一些,我发现如下:Mage\u Catalog\u Model\u Layer::prepareProductCollection在这里执行两个不推荐的方法Mage::getSingleton'Catalog/product\u status'->addVisibleFilterToCollection$collection;Mage::getSingleton'catalog/product_visibility'->addVisibleInCatalogFilterToCollection$collection;