1

我是 Magento2 的新手,尝试向搜索模块添加新过滤器时遇到问题。

例如:

我创建了一个名为“文本字段”类型的“标志”的属性,该属性在店面中是不可见的。

我有 3 个产品:

姓名 | 说明 | 旗帜

产品1 | 说明1 | 1

产品2 | 说明2 | 1

产品3 | 说明3 | 0

当我在搜索框中输入“产品”时,默认情况下 Magento2 返回所有产品,因为所有与搜索匹配,我想要的是在搜索中添加一个过滤器,只返回标志 = 1 的产品,所以它会仅返回产品 1 和 2。

我不知道我必须覆盖的确切块或模型是什么。

提前致谢

4

1 回答 1

1

您可以在搜索表单下将此属性添加为隐藏字段,其中包含您要过滤的值。当用户单击搜索按钮时,它将通过在查询字符串中添加一个参数来执行搜索,即?q=product&flag=1,您将获得预期的结果。通过这种方式,您不需要覆盖任何块或控制器。但是您需要覆盖默认的搜索表单。下面的 URL 可以帮助您覆盖核心 magento 文件。

参考网址https ://magento.stackexchange.com/questions/84550/magento-2-override-base-view-file

注意:此技术不适用于自动搜索。在这种情况下,您需要覆盖核心搜索块。

于 2016-03-03T09:52:12.477 回答