Php 在Magento中过滤没有图像的产品

Php 在Magento中过滤没有图像的产品,php,magento,filtering,magento-1.8,product,Php,Magento,Filtering,Magento 1.8,Product,要求:我们有一系列有图像和无图像的产品。我们只需要在前端展示带有图像的产品 我所做的:我尝试了几乎所有的SO资源,如: 他们的各种组合都没有运气。。我认为新版本的Magento发生了一些变化。我使用的是1.8.1.0版 有人能在这里发光吗 更新:在调试时,我发现 ->addAttributeToFilter'small_image',数组'neq'=>'无选择' 真的很有效。但分层价格过滤器中出现错误。我之前认为这不起作用。我得到的错误类似于: 根据Royw对上述问题的回答,我认为,我们需要编辑

要求:我们有一系列有图像和无图像的产品。我们只需要在前端展示带有图像的产品

我所做的:我尝试了几乎所有的SO资源,如:

他们的各种组合都没有运气。。我认为新版本的Magento发生了一些变化。我使用的是1.8.1.0版

有人能在这里发光吗


更新:在调试时,我发现

->addAttributeToFilter'small_image',数组'neq'=>'无选择'

真的很有效。但分层价格过滤器中出现错误。我之前认为这不起作用。我得到的错误类似于:

根据Royw对上述问题的回答,我认为,我们需要编辑文件:Mage/Catalog/Model/Layer/Filter/price.php

您尝试过这个吗

->addAttributeToFilter('small_image', array('neq' => 'no_selection'))

这可以使用Magento事件完成。我为这次活动增加了一名观察员:

目录\u产品\u收集\u加载\u之前

它添加了一个过滤器,用于在加载产品集合时删除所有没有图像的产品。观察员名单如下:

public function filterProductsWithoutImages($observer) {
    if (isset($observer['collection'])) {
        $collection = $observer['collection'];
        $collection->addAttributeToFilter('small_image', array('neq' => "no_selection"));
        return $this;
    }
}
这里我们需要禁用使用平面目录产品。为此:

管理>配置>目录>前端>使用平面目录产品

因为此筛选与平面目录产品的使用不兼容


搜索页面中的产品计数与此配合得很好。

在调试时,我发现这确实有效。但分层价格过滤器中出现错误。我之前认为这不起作用。我得到的错误类似于:。。。这是错误报告中的内容:根据Royw的回答,我认为我们需要编辑文件:Mage/Catalog/Model/Layer/Filter/price.phpThanks,以获得响应:@Binod,如果答案对你有用,你能接受吗?@Charlie对不起,这实际上不是一个答案。你给出的代码已经在我的问题中的链接中提到了。虽然我很感激你的回答