我是Magento2的新手,我在尝试向搜索模块添加新过滤器时遇到问题。
例如:
我创建了一个名称为“text field”类型的“flag”属性,它在店面中是不可见的。
我有3个产品:
产品1 | Description1 | 1
产品2 | Description2 | 1
产品3 | Description3 | 0
当我在搜索框“产品”中输入时,默认情况下Magento2会返回所有产品,因为所有产品都与 搜索,我想要的是在搜索中添加一个过滤器,只返回flag = 1的产品,因此它只返回产品1和2.
我不知道我必须覆盖的确切块或模型是什么。
提前致谢
答案 0 :(得分:1)
您可以在搜索表单下添加此属性作为隐藏字段,其中包含您要过滤的值。当用户点击搜索按钮时,它会通过在查询字符串中添加一个参数来执行搜索,即 ?q = product& flag = 1 ,您将获得预期结果。通过这种方式,您无需覆盖任何块或控制器。但是您需要覆盖默认搜索表单。 URL下方可以帮助您覆盖核心magento文件。
参考网址:https://magento.stackexchange.com/questions/84550/magento-2-override-base-view-file
注意:此技术不适用于自动搜索。在这种情况下,您需要覆盖核心搜索块。