Php 不包括子产品的Magento搜索结果

Php 不包括子产品的Magento搜索结果,php,magento,Php,Magento,我正在尝试修改Magento目录搜索结果,但还没有成功。我在商店里有简单产品和分组/配置产品 如果有人搜索“searchTerm 1”,我只希望出现与搜索词匹配的父产品,而不是子产品匹配的产品。我无法将这些子产品设置为“不单独显示”,因为我希望它们也单独显示(在分组产品的情况下) 例如 这是水果产品的名称。(分组产品) 儿童是: a、 )这是芒果水果的产品名称 b、 )这是香蕉水果的产品名称 这是芒果汁产品名称(分组产品) 儿童是: a、 )这是芒果汁利乐包装产品名称 b、 )这是芒果汁另一个儿

我正在尝试修改Magento目录搜索结果,但还没有成功。我在商店里有简单产品和分组/配置产品

如果有人搜索“searchTerm 1”,我只希望出现与搜索词匹配的父产品,而不是子产品匹配的产品。我无法将这些子产品设置为“不单独显示”,因为我希望它们也单独显示(在分组产品的情况下)

例如

  • 这是水果产品的名称。(分组产品) 儿童是: a、 )这是芒果水果的产品名称 b、 )这是香蕉水果的产品名称

  • 这是芒果汁产品名称(分组产品) 儿童是: a、 )这是芒果汁利乐包装产品名称 b、 )这是芒果汁另一个儿童产品名称


  • 现在,如果我搜索芒果,我应该只得到产品2,即这是芒果汁产品标题

    您可以将“儿童”产品的产品可见性更改为“目录”。这样,您在浏览类别时仍然可以看到这些产品,但在搜索时它们将被忽略。
    [编辑]

    您可能想看看这个方法:Mage_CatalogSearch_Model_Resource_Fulltext::_rebuildStoreIndex。这里面有一些关于儿童产品的东西。试着看看你是否可以忽略它们

    谢谢@Marius,它就像一个符咒。我不得不评论如下:

     /* Commented by Tanay to remove child product from search result
    if ($productChilds = $productRelations[$productData['entity_id']]) {
        foreach ($productChilds as $productChildId) {
            if (isset($productAttributes[$productChildId])) {
                $productIndex[$productChildId] = $productAttributes[$productChildId];
            }
        }
    }
    */
    

    我不会这样做,因为它会忽略搜索结果中显示的简单产品。有没有办法修改catalogsearch索引结果的方式,然后显示为结果,以便忽略子产品?@tanayjha。在这种情况下,您可能需要查看此方法:
    Mage\u CatalogSearch\u Model\u Resource\u全文::\u rebuildStoreIndex
    。这里面有一些关于儿童产品的东西。试着看看你是否可以忽略它们。谢谢@Marius,它就像一个符咒。我不得不评论如下: