我正在尝试修改Magento目录搜索结果,但还没有运气。我在商店里都有简单和分组/可配置的产品。
如果有人搜索“searchTerm 1”,我只希望显示与搜索字词匹配的父产品,而不是那些与其子产品匹配的产品。我不能将这些儿童产品设置为“不要单独展示”,因为我希望它们也能单独出现(如果是分组产品)
E.g。
这是水果产品名称。 (分组产品) 孩子是: a。)这是芒果水果产品的标题 b。)这是香蕉水果产品标题
这是芒果汁产品名称(分组产品) 孩子是: a。)这是芒果汁四包产品名称 b。)这是芒果汁的另一个儿童产品标题
现在,如果我搜索芒果,我应该只获得产品#2,即这是芒果汁产品标题
答案 0 :(得分:1)
您可以将“儿童”产品的产品可见性更改为“目录”。这样,您在浏览类别时仍然可以看到这些产品,但在搜索时会被忽略
[编辑]
您可能需要查看此方法:Mage_CatalogSearch_Model_Resource_Fulltext :: _ rebuildStoreIndex。儿童产品有一些东西。试着看看你是否可以忽略它们
答案 1 :(得分:1)
谢谢@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];
}
}
}
*/