Prestashop 使用默认块搜索按价格范围搜索产品

Prestashop 使用默认块搜索按价格范围搜索产品,prestashop,prestashop-1.6,Prestashop,Prestashop 1.6,有人知道我该怎么做吗,按价格范围搜索产品?我知道,块分层可以通过它进行过滤,但它只能在指定类别中工作。您必须: 1) 在搜索框旁边添加额外的输入字段:from和to。字段必须位于表单元素内部。您可以通过覆盖主题中的blocksearch.tpl来实现这一点 2) 接下来,您应该对classes/Search.php方法find()进行覆盖。您应该在第252行修改SQL查询(PS1.6.0.11)。使用Tools::getValue('from')添加额外的SQLWHERE语句。有效!非常感谢你!

有人知道我该怎么做吗,按价格范围搜索产品?我知道,块分层可以通过它进行过滤,但它只能在指定类别中工作。

您必须:

1) 在搜索框旁边添加额外的输入字段:
from
to
。字段必须位于表单元素内部。您可以通过覆盖主题中的
blocksearch.tpl
来实现这一点


2) 接下来,您应该对
classes/Search.php
方法
find()
进行覆盖。您应该在第252行修改SQL查询(
PS1.6.0.11
)。使用
Tools::getValue('from')
添加额外的SQL
WHERE
语句。

有效!非常感谢你!最后一件事,我需要做的是找到一个解决方案,搜索没有任何搜索查询(现在它返回错误,搜索查询是空的),只有价格范围:)我回到这个问题。我不知道如何在没有搜索查询的情况下进行搜索,只有价格范围。您应该:检查什么类型的数组
::find()
方法返回。然后在
override/classes/search.php
中创建自己的SQL搜索函数(仅按价格范围搜索)。然后对
SearchController
(我在这里只是猜测)进行覆盖,搜索查询因为空而停止。重写停止它的函数,如果查询为空,则调用您自己的搜索函数,否则调用normal::find