4

我创建了一个可配置的产品 A 和简单的子产品 A1、A2 和 A3。当我按名称搜索产品 A 时,搜索结果为 A、A1、A2 和 A3。但是,如果我将子可见性设置为单独不可见,我不会得到重复的搜索结果,但是这样我就不再能够按 SKU 搜索子产品。在按名称搜索产品时,我需要能够按 SKU 搜索产品而不会得到重复的结果。我怎么能做到这一点?谢谢你。

编辑:我会试着换句话说:

  • 按名称搜索应该只输出父产品。
  • 按 SKU 搜索应该只输出 SKU 所属的子项。

到目前为止,我想出的唯一解决方案是通过产品链接添加新的搜索含义,以便具有特定 SKU 的搜索词可以打开具有该 SKU 的子产品。但是,我认为这是一种非常糟糕的方法,因为它需要为每个子产品手动创建搜索词。

4

2 回答 2

0

将所有孩子设置为不可见

然后,您可以向用于制作可配置产品的属性集添加一个新属性,您可以将其称为 childSkus。确保在设置属性时将“在快速搜索中使用”和“在高级搜索中使用”设置为“是”将“商店所有者的目录输入类型”设置为文本区域

在您的可配置产品中找到该属性并将该可配置产品的所有子项的 sku 输入其中。

保存产品,重建目录搜索索引并刷新缓存以确保

于 2015-07-08T08:00:57.607 回答
0

您将不得不修改搜索来实现这一点。

  1. 从您的收藏中获取可配置产品的列表。
  2. 使用可配置列表查询数据库表以获取相关的简单产品。

  3. 现在从集合中删除这些相关产品。

另一种方式是为收集而触发的查询需要有一个子查询来消除简单的产品。

于 2015-07-09T19:59:04.777 回答