从 1.4 升级到 1.5 后,快速搜索返回所有产品。高级搜索工作得很好。我已经清除了缓存并重新索引了所有内容,但仍然没有。有什么想法吗?
搜索也不应用管理员中设置的最小查询长度(即,我可以不输入任何内容,但仍会显示所有内容)。在 LIKE 或 FULLTEXT 搜索之间切换似乎没有任何作用。
我看过这个Magento Search returns All Products但我所有的插件都是最新的(而且我没有任何搜索插件)。
最佳答案
我为此奋斗了好几天,结果是 catalogsearch/layer block 最终调用了搜索引擎并将结果存储在 catalogsearch_results 表中。
搜索结果列表 block 只是对与 catalogsearch_results 表中的 product_id 列(以及 LIKE 或 FULLTEXT 过滤器)连接的产品集合的简单查询。
因此,简而言之,在您的一个布局 XML 文件(或您的 local.xml)中确保您拥有以下代码:
<catalogsearch_result_index>
<reference name="left">
<block type="catalogsearch/layer" name="catalogsearch.leftnav" template="catalog/layer/view.phtml"/>
</reference>
</catalogsearch_result_index>
当然,您可以将它放在任何其他 block 中(不仅仅是 left),但要确保它在 catalogsearch/result block (哪个在 XML 中别名为“search.result”)。
如果您使用 remove 标签删除了图层导航,则必须为 block 使用不同的名称(而不是“catalogsearch.leftnav”)。
如果您甚至需要在搜索结果页面中隐藏它,请在 XML 中引用它,但使用 CSS 隐藏它:
.block-layered-nav {
display: none;
}
我希望这能帮助其他一些被这种设计模式可憎的东西折磨的可怜的灵魂。
关于php - magento - 快速搜索返回所有产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185422/